When you make a copy of a worksheet, you will get an exception if you try to delete that original sheet later. I have a template with one formatted worksheet. I use that sheet as a formatted original and make several copies of it. (Same data layout, separate sheets for different origanizations.) At the end of the process, I need to delete the original sheet.
public static void testRemove() {// Create the Excel workbook Workbook wkb = new Workbook(); Worksheets sheets = wkb.getWorksheets(); Worksheet wks = sheets.getSheet(0); wks.getCells().getCell(0, 0).setValue( "CELL A1" ); // new sheet wks = sheets.getSheet( sheets.addCopy(0) ); wks.getCells().getCell(0, 0).setValue( "new Data" ); <B>// PROBLEM: NullPointerException on Workbook.save() sheets.removeSheet( 0 );</B> // Save the workbook try { wkb.save( "C:/TEST_REMOVE.xls" ); } catch(Exception e) { System.out.println("Exception class: " + e.getClass()); Throwable cause = e.getCause(); if( cause != null ) System.out.println("cause: " + cause.getClass()); } }