簡體   English   中英

使用jxl api將新列插入到現有的excel文件中

[英]Inserting new column to an already existing excel file using jxl api

我正在使用jxl api來編輯現有的excel文件。 但是,當我嘗試添加一個新列並寫表時,它顯示空指針異常。 我正在使用的代碼如下所示:

File file = new File("d:\\test.xls");
Workbook workbook;
WritableWorkbook copy = null;
if (file.exists()) {

    try {
        workbook = Workbook.getWorkbook(file);
        copy = Workbook.createWorkbook(new File("C:\\TEMP\\temp.xls"),
                workbook);
    } catch (BiffException e) {

        e.printStackTrace();
    } catch (FileNotFoundException fnf) {
        fnf.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();
    }

}   
WritableSheet sheet = copy.getSheet(0);

sheet.insertColumn(2); //this statement causes error  
                      //if I comment it the code works fine

try {
    copy.write();
    copy.close();
}
catch(Exception e)
{

    e.printStackTrace();
}

請幫我解決這個問題並插入新專欄。

我能夠成功編輯excel的單個單元格並編寫該文件。

上面的代碼可以在我的電腦上正常運行。 你最好告訴我們異常信息,並把整個代碼放在這里。

可能你使用的api並不是最好的。 我也有這個問題(insertcolumn行的nullpointer異常)並且在我下載jexcelapi之前找不到任何解決方案。

HTH

我們可以插入一個新單元格,從而插入一個新的行/列,如下所示

Workbook aWorkBook = Workbook.getWorkbook(new File("Originalfile.xls"));
        WritableWorkbook aCopy = Workbook.createWorkbook(new File("Originalfile.xls"), aWorkBook);
        WritableSheet aCopySheet = aCopy.getSheet(0);//index of the needed sheet
        WritableCell aWritableCell = aCopySheet.getWritableCell(1,1);//no need!
        jxl.write.Label anotherWritableCell =  new jxl.write.Label(1,12 ,"SUN");
                //position of the new cell in column,row
            //can be a new Label() or new Number() or new Formula

            aCopySheet.addCell(anotherWritableCell);

        aCopy.write();
        aCopy.close();

我不清楚insertRow()或insertColumn()方法的作用。 希望能幫助到你!

使用jxl是不可能的,你必須使用apache poi http://poi.apache.org/ (或者其他什么東西)

使用jxl,您只能讀取或編寫工作簿,而不能編輯現有工作簿。 您還可以復制工作簿並編輯新創建的。 WritableWorkbook newWorkbook = Workbook.createWorkbook(newFile,workbookTemplate,wbSettings); 但是你會丟失很多格式化的所有AutoFilters,這在我使用jxl時是我的問題。

這里有很好的例子http://poi.apache.org/spreadsheet/quick-guide.html http://www.kodejava.org/browse/49.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM