poi中把一个sheet移到另一个workbook中 怎么实现?
发布网友
发布时间:2022-04-29 22:32
我来回答
共1个回答
热心网友
时间:2022-06-24 15:42
可以,不过有点小麻烦,因为很多东西需要你自己去复制。方法是遍历每个单元格。假设要把srcSheet的内容复制到destWorkbook中去。首先肯定要用destWorkbook(方法在api里有)创建一个工作表destSheet。
对于srcSheet中的每行srcRow
destRow = destSheet.createRow(srcRow.getRowNum())
对于srcRow中的每个单元格srcCell
//创建单元格
destCell = destRow.createCell(srcCell.getColumnIndex())
//复制单元格格式和单元格的值
destCell.setCellType(srcCell.getCellType())
switch(srcCell.getCellType()){
case CELL_TYPE_BOOLEAN:
destCell.setBooleanCellValue(srcCell.getBooleanCellValue());
break;
case CELL_TYPE_STRING:
destCell.setStringCellValue(srcCell.getStringCellValue());
break;
case CELL_TYPE_NUMERIC:
......
}
//复制单元格字体
先获得srcCell的字体,然后在destWorkbook中创建与之相同的字体(包括字体、大小、之类的),最后为destCell设置此字体。具体函数去看POI给的例子。
//复制单元格风格
和复制字体差不多。先获得srcCell的单元格风格(getCellStyle),然后在destWorkbook中创建此风格,复制各种设置(包括边框、对齐、倾斜之类的),最后为destCell设置此风格。具体函数去看POI给的例子。
//至于其它的内容,比如行高、列宽等,看自己需要写代码进行复制。
我就是这么做的,以前写过代码,Java的,但是现在代码找不到了。希望对你有所帮助。