我不能使用jxl編輯現有excel表。 它總是創建一個新的。 任何人都可以請幫我一把。 請給出一個小樣本代碼。使用jxl修改現有excel表
13
A
回答
22
jxl旨在提高讀取效率(因爲這是API的主要用途)。爲了提高性能,在讀取電子表格時,不會解釋與輸出信息有關的數據(例如所有格式化信息,如字體),因爲在查詢原始數據值時這是多餘的。
但是,如果我們需要修改此電子表格,則需要使用複製方法獲取各種寫入接口的句柄。
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("temp.xls"), workbook);
這複製已經讀入的信息,並執行附加處理來解釋寫入電子表格所必需的字段。這種讀取優化策略的缺點是我們有兩個電子表格保存在內存中,而不是一個,因此內存需求加倍。
但之後,你可以做任何你想做的事情。像:
WritableSheet sheet2 = copy.getSheet(1);
WritableCell cell = sheet2.getWritableCell(1, 2);
if (cell.getType() == CellType.LABEL)
{
Label l = (Label) cell;
l.setString("modified cell");
}
copy.write();
copy.close();
workbook.close();
注意:這是直接從Andy Khan's tutorial page。
0
我知道這是一個相當古老的問題,但如果任何人會遇到同樣的問題,然後保留正確的格式(字體類型,着色等) 您應該保存單元格格式,然後將其轉換爲標籤,然後強制單元格到以前的格式。 代碼:
CellFormat cfm = cell.getCellFormat();
Label l = (Label) cell;
l.setString("modified cell");
cell.setCellFormat(cfm);
0
//there is god example of it, you can copy in ur project and check it out, to
//understand how it works
Workbook wk = Workbook.getWorkbook(new File("ex.xls"));
//
WritableWorkbook wkr = Workbook.createWorkbook(new File("modifed.xls"), wk);
/* second line makes copy of wk excel file object /creates a readable spreadsheet.
both are now similar and i can Modify exiting wkr spreadsheets */
//next 2 line retrieve sheet number 0 and cell (1,1)
WritableSheet getsht = wkr.getSheet(0);
WritableCell getcl = getsht.getWritableCell(1, 1);
//making own font
WritableFont ft = new WritableFont(WritableFont.ARIAL, 20 , WritableFont.BOLD, true , UnderlineStyle.SINGLE);
//making Format, which uses font
WritableCellFormat form = new WritableCellFormat(ft);
Number nb = (Number) getcl ;
nb.setCellFormat(form);
wkr.write();
wkr.close();
+0
儘管有時只用代碼回答問題是可以的,但大部分時間通過添加解釋來改進該帖子。您可以編輯您的答案以包含一個答案。 – 2014-12-04 13:05:31
相關問題
- 1. 在Android上使用jxl修改excel電子表格
- 2. 如何使用JXL從現有Excel工作表中刪除行
- 3. 使用apache poi修改現有的excel
- 4. Excel解析使用jxl
- 5. Excel使用JXL格式化
- 6. Apache POI修改現有的Excel文件
- 7. Excel VBA修改現有公式
- 8. 用於使用Excel的庫 - jxl?
- 9. 使用.NET修改Excel電子表格
- 10. 使用PHP修改Excel工作表
- 11. 如何使用PHP修改現有的Excel文件?
- 12. 如何使用Perl修改現有的Excel工作簿?
- 13. 修改/讀/寫現有的Excel/PDF文件使用.NET庫
- 14. 如何在Webdriver中使用java(jxl)在運行時在現有的excel文件中添加新的excel表格
- 15. 使用Excel文檔修改Excel顯示
- 16. 從jxl excel表中刪除行
- 17. 使用XSL修改現有DOM
- 18. 修改現有的.htaccess(使用PHP)
- 19. 使用java jxl在Excel中創建和訪問表單
- 20. excel表格中使用jxl的單元格的不同顏色
- 21. 如何使用JXL API寫入SAME excel表單?
- 22. 如何將Excel工作表轉換爲使用Jxl的矢量
- 23. 使用JXL庫
- 24. 將Excel列表元素存儲到Excel電子表格(JXL)
- 25. JXL支持excel 2007格式
- 26. JXL和時區寫入Excel
- 27. 修改現有的正則表達式
- 28. 如何使用Jexcel API編輯/修改Java中的現有Excel文件
- 29. 使用xlrd和xlwt修改Excel
- 30. 使用Excel值修改SQL查詢
嗨@Lalli我使用你的答案,但它不工作 我在這一行'將WritableWorkbook複製= Workbook.createWorkbook(新文件(「temp.xls」)得到錯誤,工作簿);' 錯誤是'java.io.FileNotFoundException:temp.xls:打開失敗:EROFS(只讀文件系統)' – 2016-09-15 06:38:24