创建excel

来源:互联网 发布:陈翔六点半 知乎 编辑:程序博客网 时间:2024/05/21 10:51

excel的导入导出是程序开发过程中非常常见的问题,常用的解析excel工具有poi或者jxl,下面看一下用jxl如何创建一个新的excel表格文件。

private LinkedHashMap<String, Map<String, String>> tableHeader;//表头信息
private String tableName;
private String tableHeaderCN; // 中文表头
private List<?> exportData;
@SuppressWarnings({ "rawtypes", "deprecation" })public void createExcel() throws Throwable {File path = new File("exportTmp");if (!path.exists()) {path.mkdir();}File file = new File("exportTmp", fileName + ".xls");WritableWorkbook book = Workbook.createWorkbook(file);WritableSheet sheet = book.createSheet("sheet1", 0);// 设置格式jxl.write.WritableFont font1 = new jxl.write.WritableFont(jxl.write.WritableFont.TIMES, 16, jxl.write.WritableFont.BOLD);jxl.write.WritableFont font3 = new jxl.write.WritableFont(jxl.write.WritableFont.TIMES, 10, jxl.write.WritableFont.BOLD);jxl.write.WritableCellFormat CBwcfF1 = new jxl.write.WritableCellFormat(font1);jxl.write.WritableCellFormat CBwcfF2 = new jxl.write.WritableCellFormat(font3);jxl.write.WritableCellFormat CBwcfF3 = new jxl.write.WritableCellFormat();CBwcfF1.setAlignment(jxl.write.Alignment.CENTRE);CBwcfF2.setAlignment(jxl.write.Alignment.CENTRE);CBwcfF2.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN,Colour.BLACK);CBwcfF3.setBorder(Border.ALL, jxl.format.BorderLineStyle.THIN,Colour.BLACK);// 填充内容Label label = new Label(0, 0, tableName, CBwcfF1);Set<String> headers = tableHeader.keySet();String[] headersCN = tableHeaderCN.split(",");int columnCount = headers.size();sheet.addCell(label);sheet.mergeCells(0, 0, columnCount - 1, 0);for (int i = 0; i < columnCount; i++) {Label headLabel = new Label(i, 1, headersCN[i], CBwcfF2);sheet.addCell(headLabel);}int recordCount = exportData.size();List list = new ArrayList();list = getDataValues();for (int lineCount = 1; lineCount <= recordCount; lineCount++) {for (int j = 0; j < columnCount; j++) {Label valueLabel = new Label(j, lineCount + 1,(String) list.get((lineCount - 1) * columnCount + j),CBwcfF3);sheet.addCell(valueLabel);}}book.write();book.close();}
 搞定!是不是很简单、实用。

0 0
原创粉丝点击