一、测试使用
我们要是用Java代码控制Excel,我们需要如下几个步骤:
-
创建工作簿。
-
创建工作区。
-
创建行。
-
创建单元格。
-
写入内容。
-
创建文件流输出,写出到指定路径中。
1、简单测试
-
创建普通的Maven项目。
-
导入poi依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.2</version> </dependency>
-
创建工具类,写个main方法进行测试。
-
编写代码,体会注释含义。
package com.tcc.util; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * @author 宇辰 * 2022/4/17 - 23:34 */ public class PoiUtil { public static void main(String[] args) { //创建Excel表格,工作簿 Workbook wb = new HSSFWorkbook(); //创建工作区 参数为工作区的名称 Sheet sheet = wb.createSheet("表格测试"); //创建一行,参数为每行的下标,从0开始,1就是第二行 Row row = sheet.createRow(1); //创建单元格,参数为列的下标,从0开始,2就是第三列。到目前为止,创建了第二行第三列的单元格 Cell cell = row.createCell(2); //给创建的单元格填入内容 cell.setCellValue("hello Excel"); //创建文件输出流 FileOutputStream out = null; try { out = new FileOutputStream(new File("C:\\Users\\lenovo\\Desktop\\PoiDemo\\hello.xls")); //把工作簿写入到指定路径里 wb.write(out); //清空文件输出流 out.flush(); } catch (Exception e) { e.printStackTrace(); }finally { //如果文件输出流没有内容,则关闭 if (out != null){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } //如果工作簿内没有内容,则关闭 if (wb != null){ try { wb.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
-
运行main方法,查看自己设置的下载路径文件里是否生成
-
结果:
2、简单设置样式
2.1、设置行高
//创建一行,参数为每行的下标,从0开始,1就是第二行
Row row = sheet.createRow(1);
//设置行高
row.setHeightInPoints(40f);
-
结果:
2.2、设置列宽
//创建工作区 参数为工作区的名称
Sheet sheet = wb.createSheet("表格测试");
//val1:列的下标 val2:列宽,但是不能直接写值,需要我们 * 256以后,得到的数值为49.xxx,最接近50
sheet.setColumnWidth(2,50 * 256);
-
结果:
2.3、设置字体类型、大小、加粗、颜色等
//创建单元格,参数为列的下标,从0开始,2就是第三列。到目前为止,创建了第二行第三列的单元格
Cell cell = row.createCell(2);
//1.创建单元格样式对象
CellStyle style = wb.createCellStyle();
//2.先创建出字体对象
Font font = wb.createFont();
//设置字体加粗
font.setBold(true);
//设置字体类型
font.setFontName("楷体");
//设置字体颜色
font.setColor((short)30);
//设置字体大小
font.setFontHeightInPoints((short)20);
//3.把配置好的font类放入方法中
style.setFont(font);
//4.给单元格设置样式
cell.setCellStyle(style);
-
结果:
二、实战使用
等待更新。。。