处理excel文件(poi)

本文详细介绍了使用Java POI库操作Excel的不同版本(2003及以前与2007以后),包括处理合并单元格、设置单元格类型避免异常、解决导入数据库时的日期格式问题等关键操作技巧。

基本概念:

XSSFWorkBook / HSSFWorkBook工作簿
Sheet:页
CellRangeAddress :合并单元格的区域
Row:行
Cell:单元格

[上传excel文件并处理参考文献]

处理合并的单元格实例参考

参考
今天做这个东西,开始一直显示不出来,不知道是先写还是先合并,发现都不行,网上找了下,好像没什么人注意这个问题,经过本人的实验,发现poi合并单元格过后他的列数是不变的,比如你第一行第一列和第四列合并,第一行第五列和第八列合并,你要往这两个合并单元格里面书写内容,正确的操作是找到合并单元格的开始那个单元格,比如上面那两个就应该往第一列和第五列里面写你要放的内容,这样才能显示你写入的数据

三种工作簿的区别

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls;

XSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx;

SXSSFWorkbook:是操作Excel2007后的版本,扩展名是.xlsx;

获取并操作合并格内容

参考文献

Excel导入异常Cannot get a text value from a numeric cell解决
要加给cell加个类型
POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。

异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时,就会出现Cannot get a text value from a numeric cell的异常错误。

此异常常见于类似如下代码中:row.getCell(0).getStringCellValue();

解决办法:先设置Cell的类型,然后就可以把纯数字作为String类型读进来了:

if(row.getCell(0)!=null){
row.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
stuUser.setPhone(row.getCell(0).getStringCellValue());
}
Package should contain a content type part [M1.13]] with root cause异常问题解决
xlsx和xls两种文件不能直接改后缀名字,要用wps打开后再另存为相应得后缀名字得文件才可以,否则不能改变文件得实质类型。
Java使用POI导入Excel到数据库报java.text.ParseException: Unparseable date
主要是excel表格上传的的是时间类型报的错,用到poi文件里面强大的的DateUtil来实现
参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值