1个回答
展开全部
可以,不过有点小麻烦,因为很多东西需要你自己去复制。方法是遍历每个单元格。假设要把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的,但是现在代码找不到了。希望对你有所帮助。
对于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的,但是现在代码找不到了。希望对你有所帮助。
更多追问追答
追问
有没有直接复制的API,这样是不是太麻烦了!
有没有直接复制的API,这样是不是太麻烦了!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询