当前位置:编程学习 > JAVA >>

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

目前项目中要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()也是被保护的,不知该如何解决,请大侠帮忙。多谢!
--------------------编程问答-------------------- 有高手回应下吗? --------------------编程问答-------------------- 一周过去了都没人回复,只好用别的办法解决了,汗 --------------------编程问答-------------------- XSSF如果没有提供moveCell(cell2, (short)n)方法的话,肯定有相应的替代方法,你去POI官网找下API查一下呗。
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,