如何把服务器端生成的一个excel以链接的方式给客户端.

如何把服务器端生成的一个excel以链接的方式给客户端.,第1张

a标签点击请求后,在服务端根据excel对应的数据 利用poi生成一个workbook对象,
然后
OutputStream os = null;
responsesetContentType("application/vndopenxmlformats-officedocumentspreadsheetmlworksheet");
responsesetHeader("Content-Disposition","attachment;filename=" + URLEncoderencode("供应商信息"+new Date()toString(), "UTF-8") + "xslx"); //以下载形式,如果是直接在线打开
// responsesetHeader("Content-Disposition","inline;filename="
//中文文件名请适当转码,后缀名根据创建workbook时的版本决定(2003-HSSFWorkbook-xls;2007-XSSFWorkbook-xlsx)
os = responsegetOutputStream();
workbookwrite(os);
responseflushBuffer();
(io流的关闭和io异常扑捉自行处理,poi生成excel的过程参照poi文档,无非就是sheet,row,cell的 *** 作)

首先,您在IE中直接打开FTP服务器上的文件的做法是不妥的。您打开的是服务器上的文件,这时此文件就被您“独占”了,正好别人也要打开这个文件,则无法进行了。
您要做的是把文件下载到自己的电脑上再打开。
下载的方法,在IE中一般是不可能直接进行的。我们通常是安装一个FTP工具。如cuteftp(直接写文件名不合规,不要,哈哈)。小巧,很好的很方便的。
祝您一切顺利。

用PHPExcel,PHPExcel是相当强大的 MS Office Excel 文档生成类库。
你上它的官/网把程序包下/载下来,里面有 PHPExcel 的程序、还有30个实例程序和三个文档。
看一下其中的开发文档你就会用了。
读取(这段在开发文档里有的,在13页):
require_once '/Classes/PHPExcel/IOFactoryphp';
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("testxlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '<table>' "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
echo '<tr>' "\n";
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo '<td>' $cell->getValue() '</td>' "\n";
}
echo '</tr>' "\n";
}
echo '</table>' "\n";
>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13471901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-13
下一篇 2023-08-13

发表评论

登录后才能评论

评论列表(0条)

保存