<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
package com.example.mydemo.MyUtils.ExcelUtil;
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 org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
public class PioUtil {
//将文件保存在项目的resources/excel目录下
public static String PATH = System.getProperty("user.dir") + "\\src\\main\\resources\\excel\\";
public static void main(String[] args) throws Exception {
int type=2;
//测试生成文件
if(type==1){
List<List<String>> list=new ArrayList<>();
for (int i = 0; i < 10; i++) {
List<String> data=new ArrayList<>();
for (int j = 0; j < 10; j++) {
data.add("第"+i+"行--第"+j+"列");
}
list.add(data);
}
WriteExcel(list,"统计表");
}
//测试读取文件
if(type==2){
List<List<String>> list=ReadExcel("统计表");
for (int i = 0; i < list.size(); i++) {
List<String> data=list.get(i);
for (int j = 0; j < data.size(); j++) {
System.out.println(data.get(j));
}
}
}
}
public static List<List<String>> ReadExcel(String name){
List<List<String>> list=new ArrayList<>();
try {
//1、获取工作簿
XSSFWorkbook workbook = new XSSFWorkbook(PATH+name+".xlsx");
//2、获取工作表 默认第一张表
XSSFSheet sheet = workbook.getSheetAt(0);
//3、获取行
for (Row row : sheet) {
List<String> data=new ArrayList<>();
//4、获取单元格
for (Cell cell : row) {
//5、获取单元格中的内容
String value = cell.getStringCellValue();
data.add(value);
}
list.add(data);
}
//释放资源
workbook.close();
System.out.println("文件读取成功");
}catch (Exception e){
System.out.println("文件读取失败");
}
return list;
}
public static void WriteExcel(List<List<String>> list,String name){
try {
//1.创建一个工作簿
Workbook workbook = new XSSFWorkbook();
//2.创建一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
//3.创建一行
for (int i = 0; i < list.size(); i++) {
List<String> re=list.get(i);
Row row = sheet.createRow(i);
for (int j = 0; j < re.size(); j++) {
row.createCell(j).setCellValue(re.get(j));
}
}
//生成一张xlsx表
FileOutputStream fos = new FileOutputStream(PATH +name+ ".xlsx");
//输出
workbook.write(fos);
//关闭流
fos.close();
System.out.println("文件生成完毕");
}catch (Exception e){
e.printStackTrace();
System.out.println("文件生成失败");
}
}
}