poi操作xlsx文件删除列方法,求救

petersky3 2013-07-27 02:12:17
目前项目中要POI2.5.1升到3.9,进行xls和xlsx都能操作。
操作xls是用HSSF,但是操作xlsx用XSSF。以下是HSSF的删除列方法,网上有以下提供。
public void removeColumn(HSSFSheet sheet, int removeColumnNum, int removeColumnTotal){
if(sheet == null){
return;
}
for (Iterator<Row> rowIterator = sheet.rowIterator(); rowIterator.hasNext();) {
HSSFRow row = (HSSFRow)rowIterator.next();
HSSFCell cell = row.getCell(removeColumnNum);
if(cell == null){
continue;
}
row.removeCell(cell);

for(int n = removeColumnNum; n < (removeColumnTotal + removeColumnNum); n ++){
int columnWidth = sheet.getColumnWidth(n + 1);

HSSFCell cell2 = row.getCell(n + 1);

if(cell2 == null){
break;
}
sheet.setColumnWidth(n, columnWidth);
row.moveCell(cell2, (short)n);
}
}
}
以上列子的row.moveCell(cell2, (short)n)在项目中是用cell.setcellnum(),poi升级之后已被改用以上方法。但是XSSF里面的XSSFRow没提供moveCell(cell2, (short)n),XSSCell.setcellnum()也是被保护的,不知该如何解决,请大侠帮忙。多谢!
...全文
1522 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2013-08-03
  • 打赏
  • 举报
回复
XSSF如果没有提供moveCell(cell2, (short)n)方法的话,肯定有相应的替代方法,你去POI官网找下API查一下呗。
petersky3 2013-08-03
  • 打赏
  • 举报
回复
一周过去了都没人回复,只好用别的办法解决了,汗
petersky3 2013-07-27
  • 打赏
  • 举报
回复
有高手回应下吗?

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧