使用Apache POI导入导出Excel
导入Excel,首先添加依赖
org.apache.poi poi 4.1.2 org.apache.poi poi-ooxml ${poi.version} org.projectlombok lombok 1.18.22
${poi.version}
通过
元素用户可以自定义一个或多个Maven属性
写一个测试类,获取工作表最后一个行号,从而根据行号获得行对象,通过行获取最后一个单元格索引,从而根据单元格索引获取每行的一个单元格对象
package tech.niua.common.utils;import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.IOException;public class ExcelTest {public static void main(String[] args) throws IOException {//创建工作簿XSSFWorkbook workbook = new XSSFWorkbook("C:\\Users\\80700\\Desktop\\Test.xlsx");//获取工作表,既可以根据工作表的顺序获取,也可以根据工作表的名称获取XSSFSheet sheet = workbook.getSheetAt(0);//设置单元格类型,不设置有些number数据会报错int lastRowNum = sheet.getLastRowNum();for (int i = 0; i <= lastRowNum; i++) {//根据行号获取行对象XSSFRow row = sheet.getRow(i);short lastCellNum = row.getLastCellNum();for (short j = 0; j < lastCellNum; j++) {DataFormatter formatter = new DataFormatter();String value = formatter.formatCellValue(row.getCell(j));System.out.print(value + " ");}System.out.println();}workbook.close();}
}


导出Excel
package tech.niua.common.utils;import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;
import java.io.IOException;public class ExcelTest2 {public static void main(String[] args) throws IOException {//在内存中创建一个Excel文件XSSFWorkbook workbook = new XSSFWorkbook();//创建工作表,指定工作表名称XSSFSheet sheet = workbook.createSheet("TEST表");//创建行,0表示第一行XSSFRow row = sheet.createRow(0);//创建单元格,0表示第一个单元格row.createCell(0).setCellValue("编号");row.createCell(1).setCellValue("名称");row.createCell(2).setCellValue("年龄");XSSFRow row1 = sheet.createRow(1);row1.createCell(0).setCellValue("1");row1.createCell(1).setCellValue("小明");row1.createCell(2).setCellValue("10");XSSFRow row2 = sheet.createRow(2);row2.createCell(0).setCellValue("2");row2.createCell(1).setCellValue("小王");row2.createCell(2).setCellValue("20");//通过输出流将workbook对象下载到磁盘FileOutputStream out = new FileOutputStream("C:\\Users\\80700\\Desktop\\TEST表.xlsx");workbook.write(out);out.flush();out.close();workbook.close();}
}

————————————————版权声明:本文为CSDN博主「nianyuw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/m0_61820867/article/details/125996962
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
