我正在尝试将[PHP_XLSXWriter](https://github.com/mk-j/PHP_XLSXWriter)与代码触发器集成
这是我的控制器源代码
public function ToExcel(){
include_once APPPATH.'/third_party/xlsxwriter.class.php';
$filename = "report-".date('d-m-Y-H-i-s').".xlsx";
header('Content-disposition: attachment; filename="'.XLSXWriter::sanitize_filename($filename).'"');
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$styles = array('widths'=>[3,20,30,40], 'font'=>'Arial','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee', 'halign'=>'center', 'border'=>'left,right,top,bottom');
$styles2 = array( ['font'=>'Arial','font-size'=>10,'font-style'=>'bold', 'fill'=>'#eee', 'halign'=>'left', 'border'=>'left,right,top,bottom','fill'=>'#ffc'],['fill'=>'#fcf'],['fill'=>'#ccf'],['fill'=>'#cff'],);
$header = array(
'No 1'=>'string',
'No 2'=>'string',
'No 3'=>'string',
'No 4'=>'string',
);
$writer = new XLSXWriter();
$writer->setAuthor('Human');
$writer->writeSheetHeader('Sheet1', $header, $styles);
for($no=1;$no<=10;$no++){
$writer->writeSheetRow('Sheet1', [$no, $no, $no, $no], $styles2);
}
$writer->writeToStdOut();
}
Excel文件生成下载成功,但我尝试用Ms Excel打开时,显示文件已损坏,问题是原来生成的Excel文件的源代码处有一行空白
删除那一空行后,可以打开,没有任何问题
而且,如果我将控制器代码复制到单个php文件(没有涉及Code Igniter),脚本和生成的Excel文件就像一个魅力
如何删除第一个空行?
非常感谢你的帮助
1条答案
按热度按时间at0kjp5o1#
您可以在 AJAX 上下载: