Java 读取Excel文件时报错。

Smile华明 2012-07-03 02:14:29
Java 读取Excel文件时报错。
Unable to read entire header; -1 bytes read; expected 512 bytes
具体代码方法如下:
InputStream file = request.getInputStream();
POIFSFileSystem myFileSystem = new POIFSFileSystem(file);
HSSFWorkbook wb = new HSSFWorkbook(myFileSystem);//创建HSSFWorkbook实例,
HSSFSheet sheet = wb.getSheetAt(0);//第一个工作表
int rowSize=sheet.getLastRowNum();
for(int i=0;i<rowSize;i++)
{
String id = ((jxl.Sheet) sheet).getCell(0, i).getContents().trim();
String name = ((jxl.Sheet) sheet).getCell(1, i).getContents().trim();
String sex = ((jxl.Sheet) sheet).getCell(2, i).getContents().trim();
String org = ((jxl.Sheet) sheet).getCell(3, i).getContents().trim();
String mark = ((jxl.Sheet) sheet).getCell(4, i).getContents().trim();
String slay = ((jxl.Sheet) sheet).getCell(5, i).getContents().trim();
String date = ((jxl.Sheet) sheet).getCell(6, i).getContents().trim();

Object[] args = null;
int[] argTypes = null;
args = new Object[]{
id,
name,
sex,
org,
mark,
slay,
date
};
argTypes = new int[]{Types.BIGINT,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.VARCHAR,Types.DATE};
recService.insertExcel(args, argTypes);
}
JSONObject result = new JSONObject();
...全文
299 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanqing527 2012-09-28
  • 打赏
  • 举报
回复
这个的话主要是你的Excel文档里面的字符集出现了问题,读出来的数据是乱码的话就会出现这个问题。换句话说就是apache的这个插件不支持你Excel里面的字符集(想你Excel的可能是有中文,而且是非UTF-8的原因)。解决方法的话可以换一个插件,网上找下,但是要支持GBK等的字符集。也或者 使用new InputStreamReader (new FileInputStream(),"gbk")读出来然后解析。

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧