2015-07-21 5 views
-1

Я попытался различными способами добавить электронную таблицу Excel. Но проблема всегда одна и та же.Добавление листа в существующий файл excel

Я попробовал коды, предложенный здесь,

Проблема:

Exception in thread "main" java.lang.ClassCastException: org.apache.poi.hssf.record.BOFRecord cannot be cast to org.apache.poi.hssf.record.TabIdRecord 
    at org.apache.poi.hssf.model.InternalWorkbook.fixTabIdRecord(InternalWorkbook.java:792) 
    at org.apache.poi.hssf.model.InternalWorkbook.checkSheets(InternalWorkbook.java:742) 
    at org.apache.poi.hssf.model.InternalWorkbook.setSheetName(InternalWorkbook.java:579) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.createSheet(HSSFWorkbook.java:748) 
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.createSheet(HSSFWorkbook.java:101) 
    at ReadTry.main(ReadTry.java:28) 
+0

вы можете вставить код - какие детали файла XL? вы начинаете с пустого xl или у вас уже есть вкладки? –

+0

предоставить http://stackoverflow.com/help/mcve, чтобы получить быстрый ответ – vels4j

+0

@ Frederic Henri Workbook wb = WorkbookFactory.create (новый файл («C: /Users/try/NewExcelFile.xls»)); \t Лист s = wb.createSheet(); \t \t FileOutputStream out = new FileOutputStream ("C: /Users/try/NewExcelFile222.xls"); \t \t wb.write (out); \t out.close(); – Bah

ответ

0

То же код работает для меня

public class Modify { 
    public static void main(String[] args) throws Exception { 
    File f=new File("d:/temp/wb.xls"); 
    Workbook wb = WorkbookFactory.create(f); 
    wb.createSheet("sheet2"); 
    FileOutputStream out = new FileOutputStream("d:/temp/wb1.xls"); 
    wb.write(out); 
    out.close(); 
    } 
} 

Я использовал poi-3.9-20121203.jar и poi-ooxml-3.9-20121203.jar

+0

В моем случае этот код работает только в том случае, если входной файл (d: /temp/wb.xls) пуст – Bah

+0

Какое ваше требование – vels4j

+0

Я хотел бы, чтобы он работал, когда лист содержит данные – Bah