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();