由于要导出的数据要严格按照指定excel模版设置,但是要精准的设计单元格的格式真的很难,基本上成为不可能任务。强烈愤怒中。
在经过无数次失败后(虽然有时接近成功),灵感出现。
在读取工作表时,与数据相关的一些输出信息,所有的格式信息,如:字体、颜色等等,是不被破坏的。
由此,手工制作一个template.xls然后在此基础上添加数据,格式ok。而且template.xls可以windows编辑,想要什么格式就什么格式。爽呀!
附上代码:
//创建只读的Excel工作薄的对象
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File("D:\\template.xls"));
//创建可写入的Excel工作薄对象
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D:\\real.xls"), rw);
//读取第一张工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);
//获得第一个单元格对象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//判断单元格的类型, 做出相应的转化
if(wc.getType() == CellType.LABEL)
{
//Label l = (Label)wc;
//l.setString("The value has been modified.");
}
//修改的单元格
Label lable1 = new Label(0, 3,"111");
lable1.setCellFormat(cell.getCellFormat());
ws.addCell(lable1);
//写入Excel对象
wwb.write();
//关闭可写入的Excel对象
wwb.close();
//关闭只读的Excel对象
rw.close();
jxl相关资源:
Jxl简析------(二) 应用