jxl创建和设置excel
近日解决了一个jxl的问题,顺便整理了jxl的使用方法。
创建workbook(excel表格文件)
File file = new File(filePath+ File.separator +fileName);
WritableWorkbook workbook = Workbook.createWorkbook(file);
创建sheet页(workbook中的单页)
WritableSheet sheet = workbook.createSheet("统计报表", 0);
通过 WritableFont对象设置单元格字体相关参数
// 设置单元格字体
WritableFont wfont = new WritableFont(
WritableFont.ARIAL, //字体 Arial
14, // 字体大小
WritableFont.BOLD, // 粗体
false, // 是否斜体
UnderlineStyle.NO_UNDERLINE, //下划线
jxl.format.Colour.BLACK //颜色
);
通过WritableCellFormat 对象设置单元格字体、对齐、边框、底色等参数
// 单元格格式
WritableCellFormat wcf = new WritableCellFormat(wfont);
// 设置单元格底色
wcf.setBackground(jxl.format.Colour.IVORY); //象牙白
// 设置单元格边框
wcf.setBorder(
jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN,
jxl.format.Colour.BLACK
);
// 设置单元格对齐
wcf.setVerticalAlignment(VerticalAlignment.CENTRE); //设置垂直居中对齐
wcf.setAlignment(Alignment.CENTRE); //设置水平居中对齐
wcf.setWrap(false); // 设置单元格自动换行
创建标签对象(单元格内容及格式的载体)
Label label = new Label(
0, // column-列索引号
0, // row-行索引号
contentString, // 内容字符串
wcf // 单元格格式
);
sheet.addCell(label);
通过 CellView对象,设置行、列的显示样式
// CellView Object for Column,设置列显示样式
CellView ccv = new CellView();
ccv.setAutosize(true); //设置自动大小
ccv.setSize(18);
// CellView Object for Row,设置行显示样式
CellView rcv = new CellView();
rcv.setSize(160); // 行高
rcv.setHidden(collapsed);
设置sheet页行列显示样式
// 设置列显示
sheet.setColumnView(
0, // 第1列
ccv // 设置column显示样式
);
// 设置行显示
sheet.setRowView(
0, // 第1行
rcv // 设置row显示样式
);
合并单元格
sheet.mergeCells(0,0,9,0); // 首行的0~9列,合并单元格
设置自定义颜色
// 通过重置jxl的默认颜色,实现自定义颜色
Color color = Color.decode("#0099cc"); // 自定义的颜色
workbook.setColourRGB(
Colour.ORANGE,
color.getRed(),
color.getGreen(),
color.getBlue()
);
自定义颜色可以用于WritableCellFormat
对象设置单元格底色。
workbook资源关闭
// 在上述所有操作完成后,写入workbook文件并关闭
// 注意:即使有多个sheet页,也是对workbook执行最终一次写入和关闭!
workbook.write();
workbook.close();
jxl高级用法
TBD