3

我设法创建并保存了一个 excel 文件:

// Rename the file
$fileName = URL . "MODEL/case" . $caseNO . ".xlsx";

// Write the file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);
$objWriter->save($fileName);

我现在想 PHPExcel 自动运行 Excel,打开创建的文件并将其最大化。可能吗?即使 Excel 已经在运行,它还能工作吗?

谢谢您的帮助,

多纳托

4

4 回答 4

12

根据我上面的评论,您只能强制拥有一个下载选项。为此,您可以通过这种方式设置标题 -

header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=\"filename.xlsx\"");
header("Cache-Control: max-age=0");

参考 - PHP Excel 阅读器

如需更多选项,您还可以查看备忘单 - 备忘

虽然在这里阅读的最佳方式 - Codeplex

编辑

做这样的事情 -

$excel = new PHPExcel();
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="your_name.xls"');
header('Cache-Control: max-age=0');  

// Do your stuff here

$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');  

// This line will force the file to download    
$writer->save('php://output');
于 2013-03-03T18:47:16.273 回答
2

PHPExcel 无法在客户端上运行 MS Excel....但您可以将文件直接下载到浏览器,这将为客户端提供将其保存到磁盘或直接在 MS Excel 中打开它的选项(如果他们安装了 MS Excel ) 通过发送适当的 http 标头,并将文件“保存”到 php://output。

当然,如果客户端没有安装 MS Excel,那么在 MS Excel 中打开不是一个选项;虽然它仍然会提示保存。

/Tests 或 /Examples 目录中的 01simple-download-xlsx.php 文件正是这样做的

“是”,如果 MS Excel 已经在客户端上运行,它将起作用

于 2013-03-03T18:58:02.273 回答
1

在创建 Writer 之前插入以下标题

$filename = "filedetail". date("Y-m-d-H-i-s").".xlsx";
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0'); 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
于 2017-06-17T04:49:08.517 回答
0
header("Location: ".URL . "MODEL/case" . $caseNO . ".xlsx");
于 2013-12-23T04:47:45.183 回答