jsp导出excel文件,导出时firefox乱码或360乱码,反正不正常,
原本代码如下:
response.setHeader("Content-Disposition", "attachment;filename="
+ new String(("财务报表-采购明细统计.xls").getBytes(), "ISO-8859-1"));
这时firefox是好的,我也没测IE、360啥的
第一次提交就是这样,我相信大家也都是这个样子的,
会计说她IE打开时乱码,我就搜了一下,网上大部分提供了一个方法:
public static String toUtf8String(String s){
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++){
char c = s.charAt(i);
if (c >= 0 && c <= 255){sb.append(c);}
else{
byte[] b;
try { b = Character.toString(c).getBytes("utf-8");}
catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).toUpperCase());
}
}
}
return sb.toString();
}
jsp里面代码如下:
response.setHeader("Content-Disposition", "attachment;filename="
+ fb.toUtf8String("财务报表_支付宝汇总.xls"));
可是并没有解决问题,但是大部分网页搜出来的都是这样的,
这时才发现是浏览器的问题
解决方案代码如下:
<%@page import="java.net.URLEncoder"%>
String outfilename = "财务报表.xls";
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)
outfilename = new String(outfilename.getBytes("UTF-8"), "ISO8859-1");//firefox
else if (request.getHeader("User-Agent").toUpperCase().indexOf("IE") > 0)
outfilename = URLEncoder.encode(outfilename, "UTF-8");//IE浏览器
response.setHeader("Content-Disposition", "attachment;filename="+outfilename);
这才是王道
分享到:
相关推荐
当需要从JSP页面导出数据到Excel文件时,这通常涉及到服务器端的数据处理和响应生成。下面我们将详细讨论如何在JSP页面上实现这个功能。 1. **使用Apache POI库** Apache POI是一个开源项目,提供API来处理...
1. **乱码问题**:在导出Excel时,文件名或内容可能出现乱码。解决方法是确保设置正确的字符编码,例如设置`response.setCharacterEncoding("UTF-8")`,并指定文件名的编码,如`response.setHeader("Content-...
下面将详细介绍如何使用JSP实现Excel和Word的导出功能。 **一、导出Excel** 1. **引入库**: 要导出Excel,通常我们会用到Apache POI库,这是一个Java API,专门用于处理Microsoft Office格式的文件,包括Excel。...
### Java与JSP环境下导出Excel表格:深入解析与实践 在现代企业级应用开发中,数据导出至Excel表格是一种常见的需求,特别是在报表、数据分析和数据交换等场景中。Java作为一种广泛使用的后端开发语言,配合JSP...
本篇将详细讲解如何利用JSP来导出数据为Excel和PDF两种常用格式。 一、JSP导出Excel 1. **准备库**:在JSP中导出Excel,通常会用到Apache POI库。这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。...
在Java Web开发中,JSP(JavaServer Pages)经常用于创建动态网页,而与之配合进行Excel文件导入导出的功能则常使用Apache POI库。Apache POI是Apache软件基金会的一个开源项目,提供了处理Microsoft Office格式文件...
要将JSP页面的HTML表格导出为Excel,我们通常会利用HTTP响应头来设置内容类型为`application/vnd.ms-excel`,这样浏览器就会将响应的数据解析为Excel文件。以下是简单的步骤: 1. **创建HTML表格**:在JSP页面(如...
java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 ...
本人试过了可以用,做jsp程序导出excel功能的可以参考下,下载后按照模版进行修改
关于jsp导出excel用javascript实现
查询数据跳转到当前的jsp,通过获取后台的接口数据导出excel文件,最后再自动跳转到上一个的页面。
而“Flex的DataGrid导出Excel”这个主题涉及到的是如何将DataGrid中的数据显示到Microsoft Excel文件中,以便用户可以进一步处理、分析或共享这些数据。这个过程通常分为几个关键步骤: 1. **数据准备**:首先,你...
**JSP Struts2 分页 导出Excel** 在Web开发中,经常需要处理大量数据,这时分页显示和导出功能就显得尤为重要。JSP(JavaServer Pages)和Struts2作为Java Web开发中的常见技术,可以帮助我们构建动态、交互的网页...
### JSP导出Excel并支持分Sheet导出的方法详解 #### 概述 在Web开发领域,特别是使用Java Server Pages (JSP)进行后端处理的应用程序中,经常需要将数据库中的数据导出到Excel文件中供用户下载或进一步处理。这种...
总结来说,"JSP SERVLET 导出数据库内容到EXCEL"是一个典型的Java Web应用场景,结合了JSP的视图呈现、Servlet的业务处理和数据库操作,以及第三方库Apache POI的文件生成能力,为企业级应用提供了强大的数据导出...
描述部分进一步明确了文章的目的——不仅仅是在JSP页面上显示数据,更重要的是能够将这些数据导出成Excel格式,方便用户在客户端进行进一步的操作,如数据分析、打印等。这里强调的是“快速生成报表”,意味着介绍的...
本项目以"jsp实现excel上传至数据库,以及从数据库导出excel"为主题,提供了一种实用的方法,适合初学者学习。下面将详细解释这个过程涉及的关键技术点。 1. JSP(JavaServer Pages):JSP是一种动态网页技术,允许...
本篇文章将详细探讨如何在JSP中实现Excel的导出和导入功能,这对于构建企业级办公系统是非常实用的。 一、导出Excel 1. **使用Apache POI库**:Apache POI是一个流行的API,用于读取和写入Microsoft Office格式的...
"flex前台直接导出excel"这个话题,指的是在使用Adobe Flex这一前端框架时,如何直接在客户端生成并导出Excel文件,而不需要通过服务器端如JSP或Java进行处理。这种方式可以避免因为字符编码问题导致的乱码,同时也...
本文将深入探讨如何在JSP环境中实现Excel文件的导入与导出功能,利用Apache POI库作为主要工具。 ### Apache POI简介 Apache POI是一个开源的Java API,用于读写Microsoft Office格式的文件,如Word、Excel等。它...