要输出csv文件,只要改一下头信息就可以,如下设置就可以:
response.setContentType("application/csv;charset=gb18030");
response.setHeader("Content-Disposition","attachment; filename=x.csv");
乱码问题:
一开始我觉的编码设置的应该是正确的(在网上看资料也是这样设置),应该不是编码问题了,搞不明白,后来我把设置头信息的语句放在了最前面,中文乱码问题就解决了!
*这里还使用了中文转拼音的外包(pinyin4j.jar)--只关心导出csv文件的不用管它,主要看绿色字体的代码
我是写在了servlet当中
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/csv;charset=gb18030");
response.setHeader("Content-Disposition","attachment; filename=x.csv");
PrintWriter out = response.getWriter();//放在第一句是会出现乱码
String str = request.getParameter("name");
//out.println(str.charAt(0));
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","accp");
//out.println(con);
java.sql.Statement stat = con.createStatement();
ResultSet rs = stat.executeQuery("desc book");//mysql语法
while(rs.next()){
out.print("\""+(String)rs.getObject(1)+"\",");//输出表的列名
}
out.print("\n");
rs = stat.executeQuery("select * from book");
while(rs.next()){
String name=rs.getString(3);
char c = name.charAt(0);
String[] t2 = new String[10];
//宣告輸出的格式
net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat t3 = new
HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.UPPERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
t2 = PinyinHelper.toHanyuPinyinStringArray(c, t3);
if(t2[0].charAt(0)==str.toUpperCase().charAt(0)){
out.print("\""+rs.getInt(1)+"\","); //单元格的内容用""并用","隔开
out.print("\""+rs.getString(2)+"\",");
out.print("\""+name+"\",");
out.print("\""+rs.getFloat(4)+"\"\n");// \n在excel里也是换行
}
}
}catch(SQLException e){
e.printStackTrace();
} catch (BadHanyuPinyinOutputFormatCombination e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.flush();
out.close();
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/diquren/archive/2008/11/14/3300141.aspx
分享到:
相关推荐
- SQL数据库:大部分SQL数据库支持导出查询结果为CSV,如MySQL的`SELECT ... INTO OUTFILE`语句。 - 编程语言:Python、Java、R、Ruby等编程语言都有库或内置函数支持CSV文件的读写,如Python的`pandas`库和`csv`...
在IT领域,数据库存取乱码问题是一个常见的挑战,尤其对于多语言支持或者涉及中文字符的应用来说。这个问题可能出现在多种场景下,如数据输入、查询显示或者导出时。为了解决这一问题,我们需要深入理解字符编码原理...
在处理包含中文字符的DBF文件时,可能会遇到中文乱码的问题,这通常与编码设置不匹配有关。以下是一些关于解决DBF文件中文乱码的详细知识: 1. **编码问题**:DBF文件的字符编码可能是GBK、GB2312或BIG5等,而你的...
将任意关系型数据库SQL查询或表导出为CSV(逗号分隔符文件)文件,如果想支持不同的数据库,可以将不同的jdbc的jar放到lib文件夹中,按照README文件指引配置好后,运行start.bat即可按照配置批量抽取数据库中的数据...
2. **数据库管理系统**:从数据库导出数据时,可以选择CSV作为输出格式。例如,在MySQL中,可以使用`SELECT ... INTO OUTFILE`语句将查询结果导出为CSV。 3. **编程语言**:通过编程语言可以自定义导出数据。比如...
四、模板文件问题 5. **模板文件编码**:检查报表模板`.jrxml`文件的编码,确保是UTF-8无BOM格式。可以使用编辑器如Notepad++进行转换。 五、数据库连接问题 6. **数据库连接编码**:如果报表数据来自数据库,确保...
将SQLite数据库的数据导入到Excel或从Excel导出到SQLite,对于数据交换和分析具有很高的实用价值。以下将详细讲解这个过程涉及的知识点。 首先,我们需要了解SQLite数据库的基本操作。SQLite提供了一个命令行工具,...
而CSV则是一种简单、易于处理的格式,常用于数据导入导出,特别是与数据库或电子表格软件的交互。 将XML文件转换为CSV格式是一项常见的任务,尤其在数据分析和数据迁移时。这种转换有助于简化数据处理,因为CSV文件...
2. 对数据源进行编码转换:确保你的数据源(如CSV或数据库)正确编码为UTF-8,避免在读取时产生乱码。 3. 在生成图表的文本元素时,使用对应的编码设置,如: ```java TextAttribute.FONT, new Font("SimSun", Font....
jqGrid 支持将数据导出为 CSV 文件,方便用户在 Excel 中进行数据分析和处理。 4. **TSV (Tab Separated Values)**: 制表符分隔值,与 CSV 类似,只是字段间使用制表符分隔,同样适用于电子表格软件。jqGrid 也支持...
在IT行业中,数据库管理和数据迁移是常见的任务,...通过上述方法,可以有效地解决MySQL导出CSV文件时的乱码和蹿行问题,同时确保数据导入导出过程的顺利进行。在实际工作中,了解并掌握这些技巧将极大地提高工作效率。
- 当从外部源导入或导出数据,比如数据库、CSV文件等,也需要检查和调整它们的编码设置。 通过以上步骤,你应该能有效地解决Eclipse开发JSP时遇到的中文乱码问题。在实践中,乱码问题可能由多种因素引起,因此,...
- 对于从其他数据库系统中批量导出CSV文件的需求,可以使用工具如Oracle的`sqluldr2`。 - 通过命令行方式批量导出数据,示例命令如下: ```bash sqluldr2 用户名/密码@连接名 query="select fildA as \...
在使用MySQL数据库的过程中,可能会遇到中文显示乱码的问题。中文乱码问题通常是由于字符集设置不正确导致的。为了解决这个问题,我们需要从多个角度进行排查与解决,包括检查系统环境变量、MySQL配置文件、客户端...
CSV 格式是一种常见的数据交换格式,广泛应用于数据分析、数据库导入导出和电子表格软件之间。这个 Java 库提供了一个简单的方法,将 CSV 文件的内容解析并输出到控制台,对于开发者来说,它是一个方便的调试或快速...
本文将详细讲解Excel导入与导出的基本流程、常见问题及解决策略。 1. 数据导入: - **CSV文件导入**:CSV(Comma Separated Values)是一种通用的数据格式,用于存储表格数据。在Excel中,可以通过“数据”菜单...
在IT领域,数据导出是一项常见且重要的任务,尤其是在企业级应用中,用户往往需要将数据库中的数据以各种格式(如CSV、Excel等)导出,以便于数据分析、报告生成或进一步的数据处理。利用IE(Internet Explorer)...
从这个列表来看,我们可能有一个包含多个文件的压缩包,这些文件构成了“MySchool”数据库的组成部分。通常,这样的数据库可能包括数据库脚本(如SQL文件),用于创建数据库结构;数据导入导出文件(如CSV或XML),...
MySQL数据库在处理中文字符时,有时会出现乱码现象,这主要与字符编码设置有关。本文档将详细解析如何解决MySQL中的中文乱码问题,无需卸载MySQL,只需通过几条命令即可轻松解决。 首先,我们需要了解MySQL中的字符...
确保正确读取文件的编码,以免出现乱码问题。 4. 首行:CSV文件的第一行通常是列名,但这不是强制性的。如果文件没有列名,那么数据的含义需要根据上下文来理解。 5. 数据类型:CSV文件自身不包含数据类型的定义,...