`

解决ie和其他浏览器poi下载excel文件名乱码

 
阅读更多
   使用poi,做传统的excel导出,然后想在浏览器中,让用户选择另存为,保存用户下载的xls文件,这个时候,可能的是在ie下出现乱码(ie,9,10,11),但在firefox,chrome下没乱码,

因此必须综合判断,编写一个工具类:


    
/**
     * 
     * @Title: processFileName
     * 
     * @Description: ie,chrom,firfox下处理文件名显示乱码
     */
    public static String processFileName(HttpServletRequest request, String fileNames) {
        String codedfilename = null;
        try {
            String agent = request.getHeader("USER-AGENT");
            if (null != agent && -1 != agent.indexOf("MSIE") || null != agent
                    && -1 != agent.indexOf("Trident")) {// ie

                String name = java.net.URLEncoder.encode(fileNames, "UTF8");

                codedfilename = name;
            } else if (null != agent && -1 != agent.indexOf("Mozilla")) {// 火狐,chrome等


                codedfilename = new String(fileNames.getBytes("UTF-8"), "iso-8859-1");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return codedfilename;
    }



   然后,

            response.setHeader("Cache-Control", "private");
            response.setHeader("Pragma", "private");
            response.setContentType("application/vnd.ms-excel;charset=utf-8");
            response.setHeader("Content-Type", "application/force-download");
       
            title = FileUtil.processFileName(request, title);
            response.setHeader("Content-disposition", "attachment;filename=" + title + ".xls");



  就可以解决了,注意判断是否ie的时候,ie 11的agent是Trident
3
1
分享到:
评论

相关推荐

    POI导出Excel工具类,自动设置标题 列名 文件名,可插入图片,合并单元格

    在这个场景中,我们关注的是如何使用POI来创建一个功能丰富的Excel导出工具类,它能够自动设置标题、列名、文件名,并且支持插入图片以及合并单元格。下面将详细介绍这些功能的实现。 首先,要创建一个Excel工作簿...

    poi excel poi excel poi excel

    Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)和 Word(`.doc` 和 `.docx`)文件。Apache POI 项目主要由以下几个子项目...

    POI导出Excel文件

    最后,Servlet将Workbook写入OutputStream,用户可以在浏览器中下载或查看生成的Excel文件。 另一方面,main方法是标准的Java应用程序入口,通常用于命令行或测试环境。它不涉及网络交互,而是直接在本地生成Excel...

    Java POI下载Excel模板 Excel带有下拉框的模板

    Java POI下载Excel模板 Excel带有下拉框的模板,并有详细注释,生成exlcel的下拉框,必填项标红,数字栏位防止科学计数法,并设置Excel标题样式

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。

    POI生成Excel POI操作Excel POI读取Excel POI类库

    然后在doGet或doPost方法中调用上述生成Excel的逻辑,并设置响应头以指示内容类型为"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",以及设置Content-Disposition为"attachment",这样浏览器...

    poi 操作excel模板

    在Web环境中,可以通过响应头设置`Content-Disposition`为`attachment`,并指定文件名,让浏览器以下载方式显示。 以下是一个简化的代码示例,展示了读取数据并填充到模板的流程: ```java FileInputStream fis = ...

    文件下载 用poi导出excel文档

    ### 文件下载:使用POI导出Excel文档 在日常工作中,我们经常需要处理大量数据,并将其以Excel格式导出供用户下载。Java中一个非常强大的工具包——Apache POI可以帮助我们实现这一需求。Apache POI是一个用于读写...

    POI 生成EXCEL2007【含例子】

    标题 "POI 生成EXCEL2007【含例子】" 涉及到的知识点主要集中在Apache POI库的使用上,这是一个强大的Java API,用于读取、写入和修改Microsoft Office格式的文件,特别是Excel文件。在这个场景中,重点是创建和操作...

    利用POI读取excel写入到word

    在IT行业中,Apache POI是一个广泛使用的开源库,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。本篇文章将详细讲解如何利用Apache POI库来读取Excel数据并将其写入到Word文档中。 首先,...

    java的poi生成excel图表demo

    Java的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,尤其是Excel(.xlsx)文档。在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成...

    POI向excel中插入图片

    POI提供了HSSFPicture类和XSSFPicture类(分别对应于.HSSF和.XSSF,即Excel 2003和2007以上的版本)来处理这些图片。 **1. 引入依赖** 在Java项目中,你需要在pom.xml文件中添加Apache POI的相关依赖,例如: ```...

    POI 删除excel列

    POI 删除excel列,可以设置多列,POI里怎么没有删除列的API呢

    poi读写excel+poi总结

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。在本文中,我们将深入探讨如何使用POI进行Excel的读写操作,并进行总结。 1. POI基本概念 Apache POI 提供了...

    POI的EXCEL导出,自动换行

    ### POI的EXCEL导出,自动换行 在日常工作中,经常需要处理大量的数据导入导出任务,尤其是在企业级应用开发中,Excel文件的处理成为了一项必不可少的能力。Apache POI项目提供了一系列用于读写Microsoft Office...

    poi导出excel表格

    在HTTP响应中设置正确的MIME类型("application/vnd.ms-excel"或"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")和文件名(如"export.xls"或"export.xlsx")。 7. 关闭资源:确保在操作...

    poi读写excel

    poi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excelpoi读写excel

    使用POI进行Excel文件下载的示例工程

    在Java开发中,Apache POI库是一个非常实用的工具,用于读取和写入Microsoft Office格式的文件,尤其是Excel文档。本示例工程"使用POI进行Excel文件下载"是针对那些希望在Web应用程序中生成并提供用户下载Excel文件...

    POI使用Excel模板文件循环输出行并导出Excel

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel。在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,...

    POI下载excel的列子

    在Struts2中,我们可以配置一个Action,当用户触发特定URL时,Action会生成Excel文件,设置合适的响应头(如Content-Disposition指定文件名),然后将文件流写入HTTP响应,使浏览器能够下载文件。 7. **错误处理与...

Global site tag (gtag.js) - Google Analytics