我不能使用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