使用java生成Excel文档

最近研究了一下使用jxl包导出Excel文档的方法,分享一下,供有需要的朋友查阅。

首先需要引入 jxl.jar 文件,这是程序所依赖的jar包,请自行下载。

1. 定义单元格格式
首先需要定义几个单元格格式,包括字体格式,单元格样式等设置,上代码。

// 标题样式
WritableCellFormat head = new WritableCellFormat(new WritableFont(WritableFont.createFont("宋体"), 16, WritableFont.BOLD, false));//表头

上述代码设置了一个字体是“宋体 16号字 粗体 非斜体 ”的单元格样式,WritableFont方法的四个参数含义已经很明了了,不赘述。
此外,还可以对单元格设置其他样式。

head.setBorder(Border.ALL,BorderLineStyle.THIN,Colour.BLACK);

意思是,设置了一个“单元格四边框, 边框细线(一种边框样式,当然还有其他样式),黑色”的单元格边框。

另外还可以设置单元格的布局方式。

head.setBackground(Colour.GRAY_25);
head.setWrap(true);
head.setAlignment(Alignment.CENTRE);
head.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

上述代码设置了 “单元格颜色、单元格内文字自动换行、水平居中、垂直居中” 四种格式。


2.创建文档和sheet表单
设置完单元格样式后,开始创建文档。

FileOutputStream os = new FileOutputStream("c:/a.xls");//文件
WritableWorkbook wwb=Workbook.createWorkbook(os);//工作薄
WritableSheet ws =null;
ws = wwb.createSheet("我的sheet", 0);//工作表

上述代码分别完成了“创建文件、创建工作薄、创建工作表”操作。


3.添加单元格到sheet

接下来按照上述样式,把单元格添加到sheet中。

//标题 第二行
Label tLabel = new Label(4,1,"标题",title);
ws.addCell(tLabel);

//第3行 空行 合并行
tLabel = new Label(1,2,"");//创建label
ws.addCell(tLabel);//添加到工作簿中
ws.mergeCells(1,2,8,2);//合并单元格,从2行1列到2行8列(列从0开始数)

创建label,添加到工作簿中。

tLabel = new Label(1,3,"表头1",head);
ws.setColumnView(1,15);
ws.addCell(tLabel);

tLabel = new Label(2,3,"表头2",head);
ws.setColumnView(2,15);
ws.addCell(tLabel);
tLabel = new Label(3,3,"表头3",head);
ws.setColumnView(3,15);
ws.addCell(tLabel);
tLabel = new Label(4,3,"表头4",head);
ws.setColumnView(4,15);
ws.addCell(tLabel);
tLabel = new Label(5,3,"表头5",head);
ws.setColumnView(5,15);
ws.addCell(tLabel);
tLabel = new Label(6,3,"表头6",head);
ws.setColumnView(6,15);
ws.addCell(tLabel);
tLabel = new Label(7,3,"表头7",head);
ws.setColumnView(7,15);
ws.addCell(tLabel);
tLabel = new Label(8,3,"表头8",head);
ws.setColumnView(8,15);
ws.addCell(tLabel);

最后别忘了

wwb.write();
wwb.close();
os.close();

4.结果预览
这里写图片描述

猜你喜欢

转载自blog.csdn.net/h517604180/article/details/79958227
今日推荐