简体   繁体   English

PHP-如何将数据动态导出到Excel文件(.xls)?

[英]PHP - How can I dynamically export data to excel file (.xls)?

I'm using php. 我正在使用php。 I'd like to know how can I dynamically export data to excel file (.xls). 我想知道如何将数据动态导出到excel文件(.xls)。 in the query below in entered the fields in the clause Select which i want to see in the excel file. 在下面的查询中,在“选择我想在excel文件中看到的”子句中输入字段。

$query = "SELECT f.attendee_id as id1, f.answer as Prenom, l.answer as Nom, c1.answer as choix
         FROM wp_events_answer f
         JOIN wp_events_answer l ON f.attendee_id = l.attendee_id
         JOIN wp_events_answer c1 ON f.attendee_id = c1.attendee_id
         WHERE (f.question_id = 1) AND (l.question_id = 2) AND (c1.question_id = 28);";

And i also entered the labels of this fields: 而且我还输入了以下字段的标签:

$tbl= " <table border='1'>
<tr height='50px'><td WIDTH='50px' align='center'>ID</td><td WIDTH='50px'   align='center'>Prenom</td><td WIDTH='50px'align='center'>Nom</td><td WIDTH='50px' align='center'>Choix 1</td><td WIDTH='50px' align='center'>Choix 2</td></tr>";.;

But i'd like that all this became dynamic because the user can create and modify the forms. 但是我希望所有这些都成为动态的,因为用户可以创建和修改表单。 So if the user add or modify a field the export will only works if this field is also modified in the code (Select clause). 因此,如果用户添加或修改字段,则只有在代码(Select子句)中也修改了该字段的情况下,导出才会起作用。

Can you explain me how can I do this? 您能解释一下我该怎么做吗?

Thanks 谢谢

MYSQL code: MYSQL代码:

SELECT f.attendee_id as id1, f.answer as Prenom, l.answer as Nom, c1.answer as choix
    INTO OUTFILE '/path/to/file.csv'
    FIELDS
            TERMINATED BY ';'
            OPTIONALLY ENCLOSED BY '"'
    FROM wp_events_answer f
     JOIN wp_events_answer l ON f.attendee_id = l.attendee_id
     JOIN wp_events_answer c1 ON f.attendee_id = c1.attendee_id
     WHERE (f.question_id = 1) AND (l.question_id = 2) AND (c1.question_id = 28);

只需将您的数据以CSV(逗号分隔)格式写入响应缓冲区或磁盘文件(以后您可能会允许用户下载或强制下载)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM