近期项目需要根据后台数据,导出Excel。本人小白一个,只好去google一番。在这里做一个记录。
- 项目准备
- 下载poi包
- 编码实现
下载poi包
我把我使用的poi包放入了我的下载里面,欢迎大家下载,下载之后解压如下图:
导入上图的包到项目里即可。
编码实现
我们可以去查阅官方文档,官网地址:https://poi.apache.org/
首页就可以看到Excel我们所需要的,很棒!直接进去看看!
点击how-to:使用google翻译直接帮我翻译
找到了对应的文档编码起来也是十分方便啊!!
//这里是定义一个文件输出流对象,后面参数是输出到硬盘的哪个位置
FileOutputStream out = new FileOutputStream("h://upload/demo.xls");
//创建一个工作簿
Workbook wb = new HSSFWorkbook();
//创建一张表
Sheet sheet = wb.createSheet();
//定义一行
Row row = null;
//定义一个格子 (从这个流程看来是不是非常的面向对象啊)
Cell cell = null;
//标题字体,设置单元格样式
CellStyle titleStyle = wb.createCellStyle();
Font titleFont = wb.createFont();
titleFont.setColor( (short)0x0 );
titleFont.setFontHeightInPoints((short) 12);
titleFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
titleStyle.setFont(titleFont);
//正常字体
CellStyle normalStyle = wb.createCellStyle();
Font normalFont = wb.createFont();
normalFont.setColor((short)0x0);
normalFont.setFontHeightInPoints((short) 12);
normalFont.setBoldweight(Font.BOLDWEIGHT_NORMAL);
normalStyle.setFont(normalFont);
//设置这个Excel工作簿的第一张表的名字
wb.setSheetName(0, "订单测试");
//初始化行号 poi行号默认从0开始
int rownum;
//起一个title字体加粗
row = sheet.createRow(0);
//设置行高
row.setHeight((short) 0x249);
//这里创建10个单元格即可 这里直接根据封装好的对象map<Short,String>来读取
//初始化头
for (short cellnum = (short) 0; cellnum < 10; cellnum ++){
cell = row.createCell(cellnum);
cell.setCellValue(titleMap.get(cellnum));
//应用标题的样式
cell.setCellStyle(titleStyle);
}
//设置内容 注意这里rownum从1开始了,这里的数据全填test好了
for(rownum = (short)1;rownum<10;rownum++){
row = sheet.createRow(rownum);
for (short cellnum = (short) 0; cellnum < 9; cellnum ++){
cell = row.createCell(cellnum);
cell.setCellValue("test");
//应用正常的样式
cell.setCellStyle(normalStyle);
}
}
//由于项目需要我需要统计总人数和总价格,再加一行。
row = sheet.createRow(sheet.getLastRowNum()+1);
cell = row.createCell(0);
cell.setCellValue("总人数");
cell.setCellStyle(titleStyle);
cell = row.createCell(1);
cell.setCellValue("45");
cell.setCellStyle(titleStyle);
cell = row.createCell(2);
cell.setCellValue("总金额");
cell.setCellStyle(titleStyle);
cell = row.createCell(3);
cell.setCellValue("256.1");
cell.setCellStyle(titleStyle);
//写入工作簿
wb.write(out);
out.close();
运行:
成功生成:
测试完成,这里都是用的测试数据,项目用到的时候改为真实数据就好了!
想要深入研究的同学可以自行去查阅他们的文档。
想要测试的同学,附上我测试的demo
这篇博客记录了一位新手如何使用Java的poi库来生成Excel表格。首先介绍了下载poi包并导入项目的步骤,然后详细说明了通过查阅官方文档进行编码实现的过程,最后展示了运行结果,并提醒在实际项目中替换测试数据。
9167

被折叠的 条评论
为什么被折叠?



