Heim  >  Artikel  >  Backend-Entwicklung  >  php生成excel 求解

php生成excel 求解

WBOY
WBOYOriginal
2016-06-23 13:48:37972Durchsuche

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

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


回复讨论(解决方案)

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

<?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;

从 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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn