removeSheetAt public void removeSheetAt(int index)
removes sheet at the given index Parameters: index - of the sheet (0-based)指定要删除Sheet的序列号。
如果不知道序列号的话,也可以通过「HSSFWorkbook」类的方法「getSheetIndex」,设定Sheet名来取得序列号。
getSheetIndex public int getSheetIndex(java.lang.String name)
Returns the index of the sheet by his name Parameters: name - the sheet name Returns: index of the sheet (0 based)参数请指定要删除的Sheet名。
示例程序
生成一个Workbook,再在其中创建三个Sheet,最后再把名为「Sheet1」的Sheet删除。import java.io.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class POISample{ public static void main(String[] args){ HSSFWorkbook workbook = new HSSFWorkbook(); workbook.createSheet(); workbook.createSheet(); workbook.createSheet(); workbook.removeSheetAt(workbook.getSheetIndex("Sheet1")); System.out.println("Sheet0 = " + workbook.getSheetIndex("Sheet0")); System.out.println("Sheet2 = " + workbook.getSheetIndex("Sheet2")); FileOutputStream out = null; try{ out = new FileOutputStream("sample.xls"); workbook.write(out); }catch(IOException e){ System.out.println(e.toString()); }finally{ try { out.close(); }catch(IOException e){ System.out.println(e.toString()); } } } }示例程序执行后,会生成「sample1.xls」这样的文件,打开来看看先。
从图中可以看出,Sheet1被删除了,那么这时候序列号又是怎么样的呢?你还是可以通过「HSSFWorkbook」类的方法「getSheetIndex」,设定Sheet名来取得序列号看看。
Sheet0 = 0 Sheet2 = 1
我们发现中间的Sheet被删除后,后面的Sheet序列号会往前移一个,总之会维持从0开始的整数顺序。
没有评论:
发表评论