前言
最近项目需要客户端实现分享Excel表单的功能,经过一番思想斗争,因为后台Selvet还未熟悉,决定图方便,在客户端实现Excel表格的生成,固使用jxl生成表单。
使用
1. 导入依赖包
- 在gradle中添加
compile 'net.sourceforge.jexcelapi:jxl:2.6.12'
- 也可以导入jar包
2. 打开模板表
//获得文件流,这里我是将模板表放在Assests中
InputStream is = Util.getContext().getAssests().open(excelModelString);
Workbook workbook = Workbook.getWorkbook(is);
//保存本地Excel表
File workbookFile = new File(fileOutputDirPath,fileName);
Workbook.createWorkbook(workbookFile,workbook);
3. 打开表单以及获取单元格的值、格式
WritableSheet sheet = workbook.getSheet(0);
//获取单元格的值
String s = sheet.getCell(col, row).getContent();
//获得单元格格式
CellFormat cellFormat = sheeet.getCell(col, row).getCellFormat();
4. 设置单元格格式
//设置字体
WritableFont font = new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,Colour.RED);
WritableCellFormat format = new WritableCellFormat(font);
//设置单元格边框和对齐方式
format.setBorder(Border.ALL, BorderLineStyle.THIN);
format.setAlignment(Alignment.CENTRE);
format.setVerticalAlignment(VerticalAlignment.CENTRE);
//合并单元格 col1、row1为合并单元格左上单元格,2对应右下单元格
sheet.mergeCells(col1, row1, col2, row2);
5. 添加值
//带格式 data为String值
sheet.addCell(new Label(col, row, data, format));
//不带格式
sheet.addCell(new Label(col, row, data))
6. 保存文件以及关闭流
写完后一定要记得这一步骤
workbook.write();
workbook.close();
网友评论