加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SXSSFWorkbook填坑

(2019-09-09 11:26:26)
分类: 程序猿
为什么模板中的数据获取不到?
当使用SXSSFWorkbook去加载一个已存在的Excel模板时,首先应该用XSSFWorkbook去获取它。
接下来要对这个Excel模板做大量行列操作时,如果用XSSF的create方法势必会导致内存溢出。于是我们要使用SXSSFWorkbook去完成这个操作。
但是当你噼里啪啦对SXSSFWorkbook进行了一顿操作时,你会忽然发现为什么SXSSFSheet.getRow(0) = null???(懵逼不)
原因:
这是因为这些记录存在于XSSFWorkbook中,你需要用sxssfWorkbook.getXSSFWorkbook()方法去获取初始模板的行数据。

例子:
XSSFWorkbook workbook = new XSSFWorkbook("文件地址");
// 声明一个工作薄
SXSSFWorkbook sxssf = new SXSSFWorkbook(workbook, 1000);
XSSFWorkbook xssfWorkbook = sxssf.getXSSFWorkbook();
// 获取第一个sheet页
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);
// 获取第一行的第一个单元格
Cell cell = xssfSheet.getRow(0).getCell(0);
// 获取第一个sheet页,使用SXSSFSheet 
SXSSFSheet sheet = (SXSSFSheet) workbook.getSheetAt(0);

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有