POI 复制sheet到新的Excel 中
---------------------------------
首先讲下我使用的 poi jar包版本是4.0的.
jar包并不提供直接 getSheet / setSheet ,这类的的方法
需要将数值/样式一个一个取出来,再set到新增的sheet上,如果新旧sheet在同一个excel文件中,则样式可以直接 get/set,不在一个excel就需要用到cloneStyleFrom() 这个方法
直接上代码
代码如下(示例):
/**
* 复制sheet
* @param newSheet
* @param oldSheet
* @return
*/
private Sheet copySheet(Sheet newSheet, Sheet oldSheet, Workbook workbook){
//合并单元格
int numMergedRegions = oldSheet.getNumMergedRegions();
for (int i = 0; i < numMergedRegions; i++) {
CellRangeAddress mergedRegion = oldSheet.getMergedRegion(i);
newSheet.addMergedRegion(mergedRegion);
}
//增加列宽
int physicalNumberOfCells = oldSheet.getRow(0