注:一实际项目,在导出数据到Excel 中时,要求加载已存在的模板文件,模板文件中设定了Excel的相关格式,而且包含首封面。
现将相关代码记录如下,方便查阅。
?
一、JXL API? http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/ ? ? 二、相关代码 ?String path = getClass().getClassLoader().getResource("/").getPath();
String templatePath=path + "MakeCatalogConfig/" + "templateFile2.xls"; //Excel模板的路径
Workbook wb = Workbook.getWorkbook(new File(templatePath)); // 得到模板文件
WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb); // 通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板
WritableSheet wws = wwb.getSheet(0); // 选择模板中的sheet
wws.getSettings().setScaleFactor(100); // 设置页面的缩放比例
wws.getSettings().setEncoding("UTF-8"); //设置编码格式
Label F14=(Label) wws.getWritableCell(5, 13); //取得某单元格,第5例第14行。
F14.setString(“hello ”); //为某单元格设置数值(注:该单元格中已包含数据,可以以“。”替代,否则参看下面“为单元格填充数据”)
WritableCellFormat wcf = new WritableCellFormat(); //单元格格式
wcf.setAlignment(jxl.format.Alignment.LEFT); // 设置文本对齐方式为"居中对齐"
wcf.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN);//设置单元格边框
wcf.setWrap(true); //自动换行
wws.addCell(new Label(列, 行, 内容, 单元格格式)); //为单元格填充数据
( 即:jxl.write.Label.Label(int c, int r,Stringcont,CellFormatst))
wws.setRowView(row, 700); //设置每行的宽度
wwb.write();
wwb.close();
wb.close();