通过jxl生成excel的一般方法

    xiaoxiao2021-04-13  25

    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

    转载请注明原文地址: https://ju.6miu.com/read-668900.html

    最新回复(0)