php生成excel 求解

原创
2016-06-23 13:48:37 715浏览

在网上找了phpexcel 生成了个简单的文件, 但最后他是用save方法 保存下来的 ,好像是输出到php://output( 我的理解),后台权限没过(好像不能访问这个地址,我已经登录了后台) 然后下载的文件是登录的那个网页 生成到服务器端 然后重定向下载是没问题的 但这样 我不好删除这个文件 对phpexcel不熟 求解 还是说换个库~~~

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save(str_replace('.php', '.xls', __FILE__));$callEndTime = microtime(true);$callTime = $callEndTime - $callStartTime;


回复讨论(解决方案)

上面代码搞错了 具体生成文件代码如下 :

getProperties()->setCreator("Maarten Balliauw")							 ->setLastModifiedBy("Maarten Balliauw")							 ->setTitle("Office 2007 XLSX Test Document")							 ->setSubject("Office 2007 XLSX Test Document")							 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")							 ->setKeywords("office 2007 openxml php")							 ->setCategory("Test result file");// Add some data$objPHPExcel->setActiveSheetIndex(0)            ->setCellValue('A1', 'Hello')            ->setCellValue('B2', 'world!')            ->setCellValue('C1', 'Hello')            ->setCellValue('D2', 'world!');// Miscellaneous glyphs, UTF-8$objPHPExcel->setActiveSheetIndex(0)            ->setCellValue('A4', 'Miscellaneous glyphs')            ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');// Rename worksheet$objPHPExcel->getActiveSheet()->setTitle('Simple');// Set active sheet index to the first sheet, so Excel opens this as the first sheet$objPHPExcel->setActiveSheetIndex(0);// Redirect output to a client’s web browser (Excel2007)header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="01simple.xlsx"');header('Cache-Control: max-age=0');// If you're serving to IE 9, then the following may be neededheader('Cache-Control: max-age=1');// If you're serving to IE over SSL, then the following may be neededheader ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the pastheader ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modifiedheader ('Cache-Control: cache, must-revalidate'); // HTTP/1.1header ('Pragma: public'); // HTTP/1.0$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');$objWriter->save('php://output');exit;

从 61 都 71 行都是为了向浏览器输出做的准备工作

如果你只是想保存到文件只需
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('文件名');
即可

换csv吧。 现在还用什么xls

fgetcsv 读
fputcsv 写

单纯导出Excel文件
http://jingyan.baidu.com/article/915fc414f4c2e451384b205c.html

导出带图片的Excel文件:
http://jingyan.baidu.com/article/4f7d5712aea37f1a201927d7.html

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。