poi中把一个sheet移到另一个workbook中 怎么实现?

不使用VBA用java能实现吗?... 不使用VBA 用java能实现吗 ? 展开
 我来答
三宝骚年
推荐于2016-07-02
知道答主
回答量:2
采纳率:0%
帮助的人:2.6万
展开全部
可以,不过有点小麻烦,因为很多东西需要你自己去复制。方法是遍历每个单元格。假设要把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的,但是现在代码找不到了。希望对你有所帮助。
更多追问追答
追问
有没有直接复制的API,这样是不是太麻烦了!
有没有直接复制的API,这样是不是太麻烦了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式