如何把服务器端生成的一个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的 *** 作)

一般要直接打开需要客户端
1客户端有EXCEL支持
2客户端浏览器的版本与设置
可寻找一下相关的控件或中间件,看能否变通一下,把EXCEL转成HTML或PDF再展示给用户。(若用户不需要编辑并保持到服务器端的情况)
可试试如下办法:
在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files/Microsoft Office/OFFICE11/owssuppdll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)
首先,用Script创建一个本地的对象:
openDocObj = new ActiveXObject("SharePointOpenDocuments2"); // 为了兼容Office XP,可以创建“SharePointOpenDocuments1”
然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:
openDocObjViewDocument(">

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

原文地址:https://www.54852.com/zz/12987629.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存