【问题标题】:open poi excel in browser在浏览器中打开 poi excel
【发布时间】:2015-04-22 23:36:49
【问题描述】:

我的工作区中有一个模板 excel,当用户单击首页上的打印按钮时,某些模板将在其中更新。

我的要求是单击打印按钮,excel 应该在浏览器的新选项卡中打开,以便用户可以打印,但它没有在浏览器中打开,而是被下载。我不希望用户下载excel 它应该是“仅打印”。

我已经在 apache poi 中编写了 excel 代码并将 'content-disposition' 参数设置为 'inline' 但它仍然不起作用

FileInputStream fsIP= new FileInputStream(new File(request.getSession().getServletContext().getRealPath(".")+ "/Cheque Printing.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fsIP);

HSSFSheet worksheet = wb.getSheetAt(0);
worksheet.setDisplayGridlines(false);
HSSFCell cell = null;

cell = (HSSFCell)worksheet.getRow(1).getCell((short)8);               
cell.setCellValue(date);

cell = (HSSFCell)worksheet.getRow(2).getCell((short)2);
cell.setCellValue(payee);


cell = (HSSFCell)worksheet.getRow(3).getCell((short)3);
cell.setCellValue(amt1);


cell = (HSSFCell)worksheet.getRow(5).getCell((short)8);
cell.setCellValue(amount);

fsIP.close();
response.setContentType("application/vnd.ms-excel");
// I thought this line will help me out.    
response.setHeader("Content-Disposition", "inline; filename=filename.xls");                   

final ServletOutputStream os =  response.getOutputStream();
wb.write(os); 
os.flush();
os.close();

【问题讨论】:

  • 您是否尝试在本地机器上的新浏览器选项卡中打开 excel 文件?你能告诉我们你想要达到什么目标吗?实际上,在网页上显示 excel 文件是一个完全不同的问题。
  • 如果我们在 itext pdf 中做类似的编码并且做
  • 主要区别在于浏览器通常可以打开PDF文件,但会启动外部应用程序来处理XLS文件。
  • 如果我们在 itext pdf 中进行类似的编码并执行 response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "inline; filename=filename.pdf");然后它将在浏览器中打开pdf
  • “我主要关心的是允许用户只打印excel而不是下载”。提供给浏览器的每个文件都可以下载,即使它默认显示在浏览器窗口中。另外:要在浏览器窗口中查看 excel 文件,必须在客户端机器上安装插件。我不认为这样的插件可用于 Linux 或 Mac,因此所需的功能可能仅适用于某些 Windows 机器。

标签: java excel apache-poi content-disposition


【解决方案1】:

我曾尝试在浏览器中显示 excel,但当我发现这个Open excel sheet in browser时放弃了

唯一的解决方案是使用 Apache POI 来解析数据并以 JSP、JSF 或简单的 HTML 格式提供数据,如上述链接中所述。

【讨论】:

    猜你喜欢
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2021-06-26
    相关资源
    最近更新 更多