通过jxl生成excel的一般方法

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

猜你喜欢

转载自blog.csdn.net/pierre_/article/details/70160803