社区
Web 开发
帖子详情
poi读excel中文乱码问题
lightluke
2007-04-04 10:54:59
我是在tomcat5.0环境下做的poi读取上传的excel文件
如果没有中文,可以正常运行,
如果excel里有中文,就显示??
如果上传的文件名带中文,就不能读到文件。
这个问题该怎么解决?
...全文
1348
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
文档
poi
excel
通过模板导出
excel
表格 且带有公式 导出的
excel
表格里面的公式均可计算 有简单的公式也有难的公司 在此例子里面都可以跟着
excel
一起到处并可计算
JXL 和
POI
操作
Excel
表格
NULL 博文链接:https://zhouxianglh.iteye.com/blog/511023
poi
_java_
excel
.zip_java 导出
excel
_
poi
excel
_
poi
导出再导入
excel
中文_导出exce
用
poi
读
取导出
excel
,对
中文乱码
问题
进行处理
poi
3.7支持中文编码
java
读
取
excel
,ppt,word,支持中文、2003、2007
excel
xlsx文件
读
取 javadbf乱码解决
该项目包含了项目所需要的jar包以及测试案例。项目使用环境为eclipse jdk1.8 1.
poi
.Test
poi
为测试用例; 2.
poi
.
Excel
Util 为工具类,项目中可直接调用。 3.解决了javadbf
读
取dbf文件表头和数据乱码
问题
,com.webadmin.util.dbf.DBFReaderTest为测试用例。
Web 开发
81,117
社区成员
341,739
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章