Home > Backend Development > PHP Tutorial > php生成excel 求解

php生成excel 求解

WBOY
Release: 2016-06-23 13:48:37
Original
997 people have browsed it

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

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


回复讨论(解决方案)

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

<?php/** * PHPExcel * * Copyright (C) 2006 - 2014 PHPExcel * * @category   PHPExcel * @package    PHPExcel * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel) * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt	LGPL * @version    1.8.0, 2014-03-02 *//** Error reporting */error_reporting(E_ALL);ini_set('display_errors', TRUE);ini_set('display_startup_errors', TRUE);date_default_timezone_set('Europe/London');if (PHP_SAPI == 'cli')	die('This example should only be run from a Web Browser');/** Include PHPExcel */require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';// Create new PHPExcel object$objPHPExcel = new PHPExcel();// Set document properties$objPHPExcel->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', '&eacute;&agrave;&egrave;&ugrave;&acirc;&ecirc;&icirc;&ocirc;&ucirc;&euml;&iuml;&uuml;&yuml;&auml;&ouml;&uuml;&ccedil;');// 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;
Copy after login

从 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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template