社区
Web 开发
帖子详情
poi读excel中文乱码问题
lightluke
2007-04-04 10:54:59
我是在tomcat5.0环境下做的poi读取上传的excel文件
如果没有中文,可以正常运行,
如果excel里有中文,就显示??
如果上传的文件名带中文,就不能读到文件。
这个问题该怎么解决?
...全文
1345
12
打赏
收藏
poi读excel中文乱码问题
我是在tomcat5.0环境下做的poi读取上传的excel文件 如果没有中文,可以正常运行, 如果excel里有中文,就显示?? 如果上传的文件名带中文,就不能读到文件。 这个问题该怎么解决?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lightluke
2007-04-10
打赏
举报
回复
谁能告诉我,怎么看当前用的是什么编码?
lightluke
2007-04-09
打赏
举报
回复
我用poi做了个往excel里插数据的文件
往里面插入中文,再将此文件上传上去,可以识别中文
但直接建立的excel表,里面的中文却还是不能显示
问题是不是excel跟tomcat的编码不同的缘故呢?
lightluke
2007-04-09
打赏
举报
回复
在ie地址栏里可以看到中文的fn
yuzhenbj
2007-04-06
打赏
举报
回复
request.setCharacterEncoding("gbk");//保证你的fn是中文
String fn=request.getParameter("filename");
yuzhenbj
2007-04-06
打赏
举报
回复
如果是单元格的内容出错加
cell.setEncoding(HSSFWorkbook.ENCODING_UTF_16);
yuzhenbj
2007-04-05
打赏
举报
回复
加过滤器
lightluke
2007-04-05
打赏
举报
回复
注解下好么,看了不太明白
response.setContentType("application/vnd.ms-excel;charset=gb2312");
这句什么意思?以excel显示?那样的话就弹出打开或保存的对话框了。
lightluke
2007-04-05
打赏
举报
回复
还是不行啊
我把原始代码贴出来,哪给高手指点下,多谢了
package com;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.Enumeration;
public class POIExcelServlet extends HttpServlet
{
//从excel中读取数据存入ArrayList中
String pp ="F:\\Program Files\\Apache Software Foundation\\Tomcat 5.0\\webapps\\ROOT\\Excel\\";
String poiexcelPath = "";
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doPost(request,response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String fn=request.getParameter("filename");
poiexcelPath = pp + fn;
readExcel(this.poiexcelPath,response);
}
public void readExcel(String filename,HttpServletResponse response) throws IOException
{
DecimalFormat df = new DecimalFormat("#");
String fileToBeRead = filename;
PrintWriter out = response.getWriter();
try{
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
int numSheets;
int rowNumOfSheet;
short cellNumOfRow;
for(numSheets = 0;numSheets < workbook.getNumberOfSheets();numSheets++)
{
if(null != workbook.getSheetAt(numSheets))
{
HSSFSheet aSheet = workbook.getSheetAt(numSheets);
for (rowNumOfSheet = 0; rowNumOfSheet <= aSheet.getLastRowNum();rowNumOfSheet++)
{
if(null != aSheet.getRow(rowNumOfSheet)){
HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
for (cellNumOfRow = 0; cellNumOfRow <= aRow.getLastCellNum();cellNumOfRow++)
{
if(aRow.getCell(cellNumOfRow)!=null){
HSSFCell aCell = aRow.getCell(cellNumOfRow);
int cellType = aCell.getCellType();
switch(cellType){
case 0:
String strCell = df.format(aCell.getNumericCellValue());
out.println(strCell+ "");
break;
case 1:
strCell = aCell.getStringCellValue();
out.println(strCell+ "");
break;
default:
strCell = "数据格式不对";
out.println(strCell+ "");
}
}
}
out.print("<br>");
}
}
}
}
}catch(Exception e){
System.out.println("ReadExcelError"+ e);
}
}
}
lightluke
2007-04-04
打赏
举报
回复
问题是怎么转
比特灵
2007-04-04
打赏
举报
回复
两个问题:先解决中文文件名成不能上传的问题(不能读到文件),再解决文件内中文问题。
多试几次转码。
lightluke
2007-04-04
打赏
举报
回复
好象不行
问题应该是servlet整个不支持中文
我在里面打2个中文都显示??
yuzhenbj
2007-04-04
打赏
举报
回复
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
...
response.setContentType("application/vnd.ms-excel;charset=gb2312");
response.setCharacterEncoding("UTF-8");
//------
String docName="电流极值报表.xls";
docName=java.net.URLEncoder.encode(docName,"UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" +new String(docName.getBytes("UTF-8"),"GBK"));
//------
我刚遇见,绝对可以解决,最好名字不要太长!
poi
excel
模板
读
取并导出带公式的
excel
文档
- 注意处理
Excel
文件的编码
问题
,避免
中文乱码
。 - 考虑到性能
问题
,如果数据量非常大,可能需要采取分批次处理的方式。 - 对于复杂的公式,建议先在
Excel
中测试其正确性,再应用于模板文件中。 综上所述,通过使用...
JXL 和
POI
操作
Excel
表格
JXL和Apache
POI
是两个Java库,专门设计用于
读
取、写入和操作
Excel
文件。这两个库为开发者提供了便利,使他们能够在Java应用程序中无缝地与
Excel
工作簿交互。 **JXL库** JXL(Java
Excel
API)是一个开源库,支持...
poi
_java_
excel
.zip_java 导出
excel
_
poi
excel
_
poi
导出再导入
excel
中文_导出exce
在本项目"
poi
_java_
excel
.zip"中,我们将重点探讨如何使用Apache
POI
处理Java导出
Excel
时可能出现的
中文乱码
问题
,以及如何实现
Excel
的
读
取和导入。 首先,让我们深入理解Apache
POI
的基本用法。Apache
POI
提供了...
poi
3.7支持中文编码
在3.7版本中,
POI
对中文编码的优化确保了在
读
取和写入含中文的单元格时,不会出现乱码
问题
。 对于
中文乱码
的
问题
,通常是因为文件编码不匹配导致的。在Java中,使用InputStreamReader和OutputStreamWriter与特定的...
excel
xlsx文件
读
取 javadbf乱码解决
该项目包含了项目所需要的jar包以及测试案例。项目使用环境为eclipse jdk1.8 1.
poi
.Test
poi
为测试用例;...3.解决了javadbf
读
取dbf文件表头和数据乱码
问题
,com.webadmin.util.dbf.DBFReaderTest为测试用例。
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章