如何把服务器端生成的一个excel以链接的方式给客户端.
发布网友
发布时间:2022-04-22 08:58
我来回答
共2个回答
热心网友
时间:2023-07-02 10:09
a标签点击请求后,在服务端根据excel对应的数据 利用poi生成一个workbook对象,
然后
OutputStream os = null;
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet");
response.setHeader("Content-Disposition","attachment;filename=" + URLEncoder.encode("供应商信息"+new Date().toString(), "UTF-8") + ".xslx"); //以下载形式,如果是直接在线打开
// response.setHeader("Content-Disposition","inline;filename=" ......
//中文文件名请适当转码,后缀名根据创建workbook时的版本决定(2003-HSSFWorkbook-.xls;2007-XSSFWorkbook-.xlsx)
os = response.getOutputStream();
workbook.write(os);
response.flushBuffer();
(io流的关闭和io异常扑捉自行处理,poi生成excel的过程参照poi文档,无非就是sheet,row,cell的操作)
热心网友
时间:2023-07-02 10:10
我想实现的功能是:在B/S中实现在客户端浏览带有创建DLL控件对象的ASP页面时,服务器端能够形成相应的统计好了的Excel文件,并且把该Excel文件提供给客户端下载/浏览,而服务器端的Excel进程能够正常结束。
现在,我用VB做了一个DLL控件,该DLL的实现过程是:
引用Excel的Active X控件,采用Server.CreateObject( "Excel.Appliction ")……这些方法来的。
然后在ASP页面中创建该DLL对象,传递动态的记录集参数
现在,在WEB服务器端注册该组件后,在客户端浏览带有创建该DLL控件对象的ASP页面时,服务器端能够形成相应的Excel文件,此时本来希望能够下载/浏览该Excel文件的客户端却提示,该Excel文件正在使用中。我不知道该怎样才能把该Excel文件提供给客户端下载/浏览,并且使服务器端该Excel进程能够正常结束?
我没有直接在ASP网页中引用Excel的Active X控件,采用Server.CreateObject( "Excel.Appliction ")……这些方法,那样好象也只是在服务器端形成相应的Excel文件,而且好象更不能正常结束服务器端的Excel进程;好象还可以利用OWC来生产相应的Excel文件,不过对这方面我不熟。