Я использую PHPExcel для экспорта данных из базы данных MYSQL и импорта в файл excel.
У меня есть база данных, которая выглядит так (это также то, что мой Excel-файл в настоящее время выглядит, когда я его сгенерировал с помощью PHPExcel):
====================================================== | Question | Answer | =========+===========+===============================| | Do you listen to music? | YES | |----------------------------------------------------| | Who is your favorite music artists? | Justin Beiber| |----------------------------------------------------| | <p> Select an Answer<p> | | |----------------------------------------------------| |Are you a Male or female | M | |----------------------------------------------------|
Я хочу, чтобы мой файл excel выглядел так:
====================================================== | Question | Answer | =========+===========+===============================| | Do you listen to music? | YES | |----------------------------------------------------| | Who is your favorite music artists? | Justin Beiber| |----------------------------------------------------| |Are you a Male or female | M | |----------------------------------------------------|
Я использую этот код:
$objPHPExcel = new PHPExcel(); $col = 1; while($row_data = mysql_fetch_assoc($result)) { $row = 1; if ($col == 1) { $row_headings = array_keys($row_data); foreach($row_headings as $value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } $row = 1; $col++; } foreach($row_data as $value) { if (!strstr('<p>', $value)){ $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } } $col++; }
Один из вариантов заключается в исключении <p> Select an Answer<p>
при выполнении SQL-запроса, который вы бы выбрали для своих столбцов и строк, а затем из вашего выбора вы можете DELETE WHERE question = "<p> Select an Answer<p> "
Или если значение столбца Anwser
равно null
или ""
когда значение Question
<p> Select an Answer<p>
, вы также можете сказать:
if($value !== null) { // Output... }
В примере:
$objPHPExcel = new PHPExcel(); $col = 1; while($row_data = mysql_fetch_assoc($result)) { $row = 1; if ($col == 1) { $row_headings = array_keys($row_data); foreach($row_headings as $value) { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } $row = 1; $col++; } foreach($row_data as $value) { if($value !== null || $value !== '') { $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $value); $row++; } } $col++; }
Или вы можете просто удалить строки, содержащие <p> Select an Answer<p>
если они вам не нужны.