文章目录四、使用案例 五、工具类
一、简介
POI是软件基金会的免费开源的跨平台的 Java API,POI提供API给Java程序对 格式(Excel、WORD、、Visio等)读和写的功能 。.NET的开发人员则可以利用NPOI (POI for .NET) 来存取文档的功能 。
二、POI结构说明三、常用的方法 1、 :工作簿,代表一个excel的整个文档2、:工作表3、 :行4、:单元格5、 :单元格样式6、:字体7、其它
:名称
:日期格式化
:Sheet的头部
:Sheet的尾部
:日期工具
:打印设置
:错误信息表
四、使用案例 1、导入pom依赖
【Spring bootPOI操作Excel入门案例】
2、Demo1:生成EXCEL表格
一个入门的小Demo,将文件放在桌面或者指定绝对路径,文件名称为.xls的文件,即可;
import org.apache.poi.hssf.usermodel.*;import org.apache.poi.hssf.util.HSSFColor;import javax.swing.filechooser.FileSystemView;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.Date;public class poiUtils {public void poiWrite() throws Exception {//1、获取输出路径//1.1 获取桌面路径FileSystemView fsv = FileSystemView.getFileSystemView();String desktop = fsv.getHomeDirectory().getPath();String filePath = desktop + "/testexcel.xls";//1.2、从绝对路径获取文件//String filePath = "D:\\testexcel.xls";//2、创建输出路径的I/O流File file = new File(filePath);OutputStream outputStream = new FileOutputStream(file);//3、创建工作簿对象,并获取工作表1HSSFWorkbook workbook = new HSSFWorkbook();HSSFSheet sheet = workbook.createSheet("Sheet1");//4、创建行对象,并设置每行的数据(==第一行==)HSSFRow row = sheet.createRow(0);row.createCell(0).setCellValue("id");row.createCell(1).setCellValue("订单号");row.createCell(2).setCellValue("下单时间");row.createCell(3).setCellValue("个数");row.createCell(4).setCellValue("单价");row.createCell(5).setCellValue("订单金额");row.setHeightInPoints(30); // 设置行的高度//5、创建行对象,设置每列的数据(==第二行==)HSSFRow row1 = sheet.createRow(1);//5.1 第一.二列数据row1.createCell(0).setCellValue("1");row1.createCell(1).setCellValue("NO00001");//5.2 第三列数据(输入日期、并设置列宽)// 日期格式化HSSFCellStyle cellStyle2 = workbook.createCellStyle();HSSFCreationHelper creationHelper = workbook.getCreationHelper();cellStyle2.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss"));sheet.setColumnWidth(2, 20 * 256); // 设置列的宽度//将数据添加到第三列中HSSFCell cell2 = row1.createCell(2);cell2.setCellStyle(cellStyle2);cell2.setCellValue(new Date());//5.3 第四列数据row1.createCell(3).setCellValue(2);//5.4 第五列数据(保留两位小数)HSSFCellStyle cellStyle3 = workbook.createCellStyle();cellStyle3.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));HSSFCell cell4 = row1.createCell(4);//创建列对象cell4.setCellStyle(cellStyle3);//设置样式cell4.setCellValue(29.5);//输入数据//5.4 第六列数据(进行计算)HSSFCellStyle cellStyle4 = workbook.createCellStyle();HSSFFont font = workbook.createFont();font.setFontName("华文行楷");font.setFontHeightInPoints((short) 15);font.setColor(HSSFColor.RED.index);cellStyle4.setFont(font);//将数据设置到第六列中HSSFCell cell5 = row1.createCell(5);cell5.setCellFormula("D2*E2");// 设置计算公式//5.5 获取第六列计算公式的值HSSFFormulaEvaluator e = new HSSFFormulaEvaluator(workbook);cell5 = e.evaluateInCell(cell5);System.out.println(cell5.getNumericCellValue());//6、写出数据关闭资源//设置默认选中的工作表workbook.setActiveSheet(0);workbook.write(outputStream);outputStream.close();}}
- SpringMVC实现本地文件上传,跨服务区上传,异常统一处理、拦截器的使用
- 比较详细 Springboot整合Mybatis-plus
- Spring boot+swagger2构建restful api文档
- 【设计模式】SpringBoot优雅使用策略模式
- Spring Boot2.x 开发技巧及实战 第2章:Spring Boot2
- zuul 史上最简单的SpringCloud教程 | 第五篇: 路由网关(Fi
- Spring security oauth2最简单入门环境搭建
- Spring Security实现短信验证码登录
- 基于微信小程序的美妆电子商务系统(java+spring+springMvc+s
- spring中bean生命周期