Я хочу экспортировать элемент таблицы html в файл xlsx с границами.экспорт элемента таблицы в файл xlsx с границами
Я могу сделать это с помощью xls (not xlsx). С помощью xls Excel может открыть любой html-файл и преобразовать содержимое, включая границы. Для xlsx я должен использовать PHPExcel, но я не могу форматировать мою таблицу (добавление границ ...).
я могу экспортировать в XLSX с приведенным ниже кодом, но нет границ:
<?php
require_once '/PHPExcel/Classes/PHPExcel.php';
$file=$_POST['file']."_".date("ymd").".xlsx";
$table = "<table border='1'>".$_POST['table']."</table>";
$table = mb_convert_encoding($table, 'UTF-16LE', 'UTF-8');
$table = "\xFF\xFE" . $table;
// save $table inside temporary file that will be deleted later
$tmpfile = tempnam(sys_get_temp_dir(), 'html');
file_put_contents($tmpfile, $table);
// insert $table into $objPHPExcel's Active Sheet through $excelHTMLReader
$objPHPExcel = new PHPExcel();
$excelHTMLReader = PHPExcel_IOFactory::createReader('HTML');
$excelHTMLReader->loadIntoExisting($tmpfile, $objPHPExcel);
$objPHPExcel->getActiveSheet()->setTitle('biblio_uq9_excel'); // Change sheet's title if you want
unlink($tmpfile); // delete temporary file because it isn't needed anymore
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); // header for .xlxs file
header('Content-Disposition: attachment;filename='.$file); // specify the download file name
header('Cache-Control: max-age=0');
// Creates a writer to output the $objPHPExcel's content
$writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$writer->save('php://output');
exit;
?>
EDIT: Смотрите мой ответ ниже. Мы ничего не можем сделать. Формат Excel .xlsx не позволяет автоматически преобразовывать файл с разделителями/разметкой.