首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
poi中stringindexoutofbounds
2024-08-24
Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
注意:此参考解决方案只是针对xlsx格式的excel文件! 背景 前一段时间遇到一种情况,服务器经常宕机,而且没有规律性,查看GC日志发生了out of memory,是堆溢出导致的,分析了一下堆的dump文件,发现在发生OOM时创建了大量的String对象.最后对照时间点,发现宕机的时候业务人员在上传一个excel文件,但是这个excel文件才28MB大小,感觉应该不会引起内存溢出.后来在本地启动了服务,然后尝试上传这个excel文件,同时使用Java VisualVM监控GC情况,发现在上传
POI中设置Excel单元格格式
引用:http://apps.hi.baidu.com/share/detail/17249059 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一.设置背景色: setBorder.setFillForeground
POI中excle样式怎么写
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一.设置背景色: setBorder.setFillForegroundColor((short) 13);// 设置背景色setBorder.setFillPattern
poi中如何自定义日期格式
1. poi的“Quick Guide”中提供了 “How to create date cells ”例子来说明如何创建日期单元格,代码如下: HSSFCellStyle cellStyle = wb.createCellStyle(); cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm")); cell = row.createCell((short)1); cell.setCellValue(
Poi中getPhysicalNumberOfCells 与 getLastCellNum的差异
getPhysicalNumberOfCells 与 getLastCellNum的区别 用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全部读不到.查来查去本来是HSSFRow供给两个办法:getPhysicalNumberOfCells和getLastCellNum. getPhysicalNumberOfCells 是获取不为空的列个数. getLastCellNum 是获取最后一个不为空的列是第几个. 同样,HSSFSheet获取行
关于POI 中单元格背景色设置(转)
关于POI 中单元格背景色设置(转) csdn 中找到了用Apache POI 实现单元格背景色的小例子 我用了JDK6 + POI 3.17 ,调试中报错 最终将 CellStyle.SOLID_FOREGROUND 替换为 FillPatternType.SOLID_FOREGROUND,代码运行成功 /** * */ package com.totest.poiDemo; import java.io.FileOutputStream; import java.io.IOExcepti
POI中HSSF和XSSF操作Excel
POI中HSSF和XSSF操作Excel 在公司实习快一个月了,这段时间公司业务要用JAVA操作复杂的Excel报表.刚开始的Excel还好,没有涉及到复杂的图表,所以使用JXL操作Excel,但是到后来涉及到复杂的图表和单元格公式后JXL就显得无力了. 公司业务需要在原有的Excel模板上填写从数据库读出来的数据,然后保存为新文件让客户下载.最后在业务的每个流程环节上添加签名图片,而且模板复杂所以只有使用Apache的POI来操作Excel. 在刚接触使用POI时,因为Excel模板格式是
POI中的CellType类型以及值的对应关系
POI 中的CellType类型以及值的对应关系 CellType 类型 值 CELL_TYPE_NUMERIC 数值型 0 CELL_TYPE_STRING 字符串型 1 CELL_TYPE_FORMULA 公式型 2 CELL_TYPE_BLANK 空值 3 CELL_TYPE_BOOLEAN 布尔型 4 CELL_TYPE_ERROR 错误 5
POI中设置Excel单元格格式样式(居中,字体,边框等)
创建sheet什么的就不多说了,直接进入正题 HSSFCellStyle cellStyle = wb.createCellStyle(); 一.设置背景色: cellStyle.setFillForegroundColor((short) 13);// 设置背景色 cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 二.设置边框: cellStyle.setBorderBottom(HSSFCellStyle.BORDER
POI中setDefaultColumnWidth方法不起作用的原因
sheet.setDefaultRowHeight((short) (2 * 256)); //设置默认行高,表示2个字符的高度 sheet.setDefaultColumnWidth(17); //设置默认列宽,实际上回多出2个字符,不知道为什么 这只poi组件中的两个方法,需要注意的是,必须先设置列宽然后设置行高,不然列宽没有效果
poi中getPhysicalNumberOfRows()和getLastRowNum()区别
getPhysicalNumberOfRows()获取的是物理行数,也就是不包括那些空行(隔行)的情况. getLastRowNum()获取的是最后一行的编号(编号从0开始). 通过getPhysicalNumberOfRows()获得的实际行数,不一定有数据的行数. 比如某个单元格只设置了非"常规"的格式,它也会被POI认为是实际行. 不过POI里似乎没有没有这样的方法,getNextPhysicalRow(). 所以只好从getFirstRowNum()到getLastRowNum
POI 中的CellRangeAddress 参数
在用poi在EXECL报表设计的时候,遇到单元格合并问题,用到一个重要的函数: CellRangeAddress(int, int, int, int) 参数:起始行号,终止行号, 起始列号,终止列号 网上老多地方说是(//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号)其实是误导.经过仔细测试,应该是 CellRangeAddress(起始行号,终止行号, 起始列号,终止列号).
POI 中Cell的backgroundcolor和foregroundcolor
刚开始以为要获得cell的背景色是使用 getFillBackgroundColor()这个函数(这里返回的是调色板的索引,要获得RGB需要先获得系统的Pallete,然后在获得 RGB).结果出来的索引都是一样的,搜索了好一会,发现都没有自己要的答案,想想自己估计又犯了什么低级错误了,这个问题应该不是什么问题.果然在 POI的文档里面,这个问题就已经陈述出来了: public short getFillBackgroundColor() Get the background fill col
POI中不推荐的方法与其替代的方法
不推荐getCellType(),推荐getCellTypeEnum() if(tcell.getCellTypeEnum() == CellType.NUMERIC){ System.out.println("good"); } if(tcell.getCellType() == Cell.CELL_TYPE_NUMERIC){ System.out.println("bad"); } 不推荐使用HSSFCellStyle 中的属性 style.setVertic
POI 中的CellType类型以及值的对应关系
操作使用POI接口,了解CellType的类型和值的对应关系. CellType 类型 值 CELL_TYPE_NUMERIC 数值型 0 CELL_TYPE_STRING 字符串型 1 CELL_TYPE_FORMULA 公式型 2 CELL_TYPE_BLANK 空值 3 CELL_TYPE_BOOLEAN 布尔型 4 CELL_TYPE_ERROR 错误 5
POI中操作PPT获得每页的TABLE
HSLFSlideShow slideShow = new HSLFSlideShow(bufferInputUtil.getBufferedInputStream()); logger.info("正在脱敏:每页幻灯片的文本和表格内容"); for (HSLFSlide slide : slideShow.getSlides()) { for (HSLFShape hslfShape : slide.getShapes()) { if (hslfShape instanceof HS
POI中getLastRowNum() 和getLastCellNum()的区别
hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1
POI中getLastRowNum() 和getLastCellNum()的区别 hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1
hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1
【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
hssfSheet.getLastRowNum();.行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1 行标.列标都以0开始.
Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API. 下面分享一下在对POI进行基本操作时觉得需要注意的两点: 1.POI中针对xlsx/xls是需要create different Workbook instance
【poi】用POI新建一个xlsx文件【或者说将数据存入到xlsx中】/【将数据从xlsx中获取到项目中】
第一部分:写入xlsx中 使用POI创建一个xlsx文件: 项目结构如下: 具体使用的POI中的 XSSFWorkbook xlsx对象 Sheet 工作簿对象 Row 行对象 Cell 单元格对象 FileOutputStream 流对象 代码如下: package com.it.poiTest; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExcept
热门专题
使用c#winform任务调度
intellij idea 14创建web项目
react models 什么方法应该放入
获取文件流的contentType
idea设置各个区域字体大小
一起做rgb-d7max_norm_lp
python小时有小数点
C. addEventListener() 方法有两个参数
浮点型拒绝服务 java 修复
css checkbox样式美化
window.print 滚动 元素 html
mybatisplus聚合查询
Windows Media Player控件不能播放
sdl不用字库显示字
基于linux 局域网 原始套接字
linux6.0和2.6源码不同
adb shell启动程序
netsh 设置wifi ip
eclipse打开jar包源码
imac 隐藏文件夹过滤