`
hq185fvl
  • 浏览: 5958 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

导出Excel乱码问题(少于2条出现乱码解决方案)

阅读更多
导出Excel格式的文件在网上已经有很多了解决方案了,先前都是用报表工具(jasperreport)来弄的,后来打算用opi,jxl,同事说那样子写代码会写很多,所以就用html代码来些,说是可以自动转换。
    以下为转换的具体方法:
    StringBuilder sb = new StringBuilder(2000);
   
     sb.append("<html>");
			sb.append("<head><meta http-equiv=Content-Type content='text/html; charset=utf-8'></head><body>");//这个必须设置,不然只有1条记录的时候,导出会出现乱码
			sb.append("<table width='800' border='1' cellpadding='0' cellspacing='0' bordercolor='#000000'>");
			sb.append("<caption>");
			sb.append("<span  style='font-size: medium;font-weight: bold;'>交接班日志列表</span>");
			sb.append("</caption>");
			sb.append("<tr>");
			sb.append("<th width='149' bgcolor='#CCCCFF'>日期</th>");
			sb.append("<th width='132' bgcolor='#CCCCFF'>当班时间</th>");
			sb.append("<th width='126' bgcolor='#CCCCFF'>值班人</th>");
			sb.append("<th width='112' bgcolor='#CCCCFF'>班组</th>");
			sb.append("<th width='93' bgcolor='#CCCCFF'>班次</th>");
			sb.append("<th width='148' bgcolor='#CCCCFF'>开始值班时间</th>");
			sb.append("</tr>");
			if (runOnwatchList != null) {
				listSize = runOnwatchList.size();
				// 循环取出数据填充表格
				for (int i = 0; i < listSize; i++) {
					sb.append("<tr>");
					RunOnwatch runOnwatch = runOnwatchList.get(i);
					String[] data = new String[6];
					data[0] = DateUtil.format(runOnwatch.getOnwatchdate());
					data[1] = runOnwatch.getRunOnwatchorder().getStarttime()
							+ "-"
							+ runOnwatch.getRunOnwatchorder().getEndtime();
					data[2] = runOnwatch.getOnwatchby();
					data[3] = runOnwatch.getGroupname();
					data[4] = runOnwatch.getGrouporder();
					data[5] = DateUtil.format(runOnwatch.getStartwatchtime(),
							DateUtil.YMDHMS);
					for (int j = 0; j < 6; j++) {
						sb.append("<td align='left'>");
						sb.append(data[j]);
						sb.append("</td>");
					}
					sb.append("</tr>");
				}
			}
			sb.append("</table>");
			sb.append("</body></html>");

    
;
   以下为编码格式:
String fileName = java.net.URLEncoder.encode("交接班日志列表.xls",
						"UTF-8");//这个必须设置,不然导出另存为的时候,文件名会出现乱码(支持中文的)
				res.setHeader("Content-Type", "application/force-download");
				res.setHeader("Content-Type",
						"application/vnd.ms-excel;charset='UTF-8'");
				res.setHeader("Content-Disposition", "attachment;filename="
						+ fileName);
				res.setCharacterEncoding("UTF-8");//这个必须设置
				PrintWriter pw = res.getWriter();
				System.out.print("excelData=="+excelData);
				pw.write(excelData);
				pw.flush();
				pw.close();

1
0
分享到:
评论

相关推荐

    ASP.NET导出Excel乱码的终极解决方案

    解决ASP.NET导出Excel乱码的关键在于确保整个流程中的字符编码一致性。以下是一种被证实有效的解决方案: #### 1. 设置正确的HTTP响应编码 在生成Excel文件前,首先需要设置`Response`对象的`ContentType`属性,并...

    解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案

    解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案...解决方案_EXCEL打开Tableau导出数据存在中文乱码情况的解决方案可以帮助我们避免中文乱码的问题,确保从Tableau中导出的数据可以正确地显示在EXCEL中。

    解决tableExport导出到excel中文乱码

    解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码,解决tableExport导出到excel中文乱码

    TOAD导出EXCEL文件时中文乱码解决办法.txt

    ### TOAD导出EXCEL文件时中文乱码解决办法 #### 背景介绍 在数据库管理和开发过程中,经常需要将查询结果...通过上述方法,可以有效地解决在使用TOAD导出Excel文件时遇到的中文乱码问题,提高工作效率和数据质量。

    ArcGIS10.2.1/10.2.2导出dbf用Excel打开乱码的解决方案

    然而,在使用ArcGIS 10.2.1或10.2.2版本时,有时会遇到一个问题:当导出的DBF文件用Excel打开时出现乱码。这个问题主要涉及到字符编码的兼容性问题。 ArcGIS在导出DBF文件时,默认可能使用的是特定的字符集,而...

    tableExport.js excel乱码解决方法

    自从上次用bootstrap table就一直没有解决导出excel的关题,网上找到的那更改tableExport.js和jquery.base64.js的方法虽然可以正常导出,但中文依旧乱码... 解决方法终归是有的....现将文件分享给大家. 里面有table...

    ARCGIS10.3属性表导出excel为汉字乱码

    仅支持arcgis10.3在windos系统下,属性表中汉字导出excel为乱码的解决方案。

    导出excel汉字乱码以及GridView分页问题

    总结起来,解决导出Excel汉字乱码问题的关键在于正确设置字符集和编码;而处理GridView分页问题则需要在导出前临时禁用分页功能,并在完成后恢复。通过这些技巧,可以确保用户能够顺利地下载到包含所有数据且无乱码...

    Toad中文导出到Excel的乱码解决办法

    本文将详细阐述如何解决Toad在导出到Excel时出现的中文乱码问题。 首先,一个简单且通常有效的解决方案是改变导出格式为文本文件。Toad允许用户将数据导出为多种格式,包括CSV(逗号分隔值)或TXT(纯文本)。这两...

    arcgis10.2属性表导出excel汉字为乱码解决

    仅支持arcgis10.2在windos系统下,属性表中汉字导出excel为乱码的解决方案。

    Navicat for MySql 导入EXCEL中文乱码问题解决

    ### Navicat for MySQL 导入Excel中文乱码问题解决 #### 一、问题背景 ...通过上述步骤的操作,可以有效地解决Navicat for MySQL导入Excel文件时出现的中文乱码问题,确保数据的准确性和完整性。

    通讯录导出Excel破乱码

    本文将详细讲解如何解决vtiger联系人导入导出时出现的汉字乱码问题。 首先,我们要理解乱码的产生原因。乱码通常出现在字符编码不一致的情况下,例如,vtiger系统内部存储的数据可能是UTF-8编码,而你使用的Excel...

    tableExport + base64 excel、png导出无中文乱码

    2. 使用其他兼容性更好的库:寻找一个同时支持IE和其他现代浏览器的导出解决方案,比如`js-xlsx`或`file-saver`等。 3. 优雅降级:为IE用户提供一个备选方案,如导出CSV格式,因为CSV格式在大多数浏览器中都具有良好...

    解决ecside导出文件乱码问题

    本文将详细讨论如何解决ecside导出PDF时出现的中文乱码问题,以及提供的字体文件如何解决这个问题。 ecside是一款基于Java的开源Web应用框架,它提供了丰富的功能,包括数据导出。在某些情况下,当ecside导出包含...

    解决win7中ARCgis10.5属性表导出dbf乱码问题

    可以解决win7中ARCgis10.5属性表导出dbf乱码问题,修改注册表

    解决Arcgis10.2.2中dbf文件用EXCEL打开乱码问题

    在使用ArcGIS 10.2.2的过程中,可能会遇到一个常见的问题,即当尝试用Microsoft Excel打开关联的dbf文件时,数据出现乱码。dbf文件是Esri的地理信息系统软件ArcGIS中用于存储表格数据的格式,通常与.shp文件一起使用...

    数据导出EXCEL 解决中文名乱码 同时赠由二进制转换成文件(解决中文名乱码)

    本篇文章将详细探讨如何解决在数据导出到Excel时出现的中文乱码问题,并介绍如何通过二进制转换来正确保存和处理含有中文字符的文件。 首先,我们需要理解为什么会出现中文乱码。这通常是由于编码不一致导致的。在...

    PLSQL导出CSV后中文乱码解决办法

    这个问题通常是由于编码格式不匹配导致的,下面我们将详细探讨如何解决PLSQL导出CSV后中文乱码的问题。 首先,我们需要了解CSV文件本身的特点。CSV是一种通用的、简单的数据交换格式,它使用逗号分隔每一列数据,以...

    解决Arcgis10中dbf文件用EXCEL打开乱码问题.docx

    通过以上步骤,您可以有效地解决在使用Excel打开由ArcGIS导出的.dbf文件时出现乱码的问题。这种方法通过修改注册表来指定正确的字符编码,确保文本信息能够被正确读取和显示。希望本文能帮助您更好地处理GIS数据,并...

    解决fastreport中文显示不全和导出乱码

    在处理中文数据时,可能会遇到中文显示不全或导出时出现乱码的问题,这对于用户来说无疑是一个棘手的挑战。本文将针对"解决fastreport中文显示不全和导出乱码"这一主题进行详细解答,并依据提供的文件...

Global site tag (gtag.js) - Google Analytics