创建maven项目,然后需要导入poi的依赖
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.10-FINAL</version> </dependency>
测试类如下
package com.it; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.*; import java.util.ArrayList; import java.util.List; /** * Hello world! * */ public class App { public static void main( String[] args ) throws IOException { // exportExcel(); importExcel(); } //导出文件 public static void exportExcel() throws IOException { //创建execl工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建一个工作表 XSSFSheet sheet = workbook.createSheet("信息"); //创建标题 XSSFRow row = sheet.createRow(0);//第一行从0开始计数 String[] title = {"姓名","成绩"}; //循环将title写入execl的第一行里 for (int i = 0; i < title.length; i++) { XSSFCell cell = row.createCell(i); cell.setCellValue(title[i]); } List<User> list = new ArrayList<>(); list.add(new User("张三",99)); list.add(new User("李四",88)); list.add(new User("王五",77)); //循环写入第一行之后的员工数据 for (int i = 0; i < list.size(); i++) { XSSFRow row1 = sheet.createRow(i + 1); XSSFCell cell1 = row1.createCell(0); cell1.setCellValue(list.get(i).getName()); XSSFCell cell2 = row1.createCell(1); cell2.setCellValue(list.get(i).getScore()); } OutputStream out = new FileOutputStream("E://user.xlsx"); workbook.write(out); } //导入文件 public static void importExcel() throws IOException { //输入流读取表格文件 InputStream in = new FileInputStream("E://user.xlsx"); //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook(in); //获取第一张工作表 XSSFSheet sheet = workbook.getSheetAt(0); //获取总行数 int lastRowNum = sheet.getLastRowNum(); List<User> list = new ArrayList<>(); //i从1开始-去除表头,循环取值 for (int i = 1; i < lastRowNum; i++) { User user = new User(); //获取当前行对象 XSSFRow row = sheet.getRow(i); //获取值-然后存值 XSSFCell cell1 = row.getCell(0); String value = cell1.getStringCellValue(); user.setName(value); XSSFCell cell2 = row.getCell(1); int value1 = (int)cell2.getNumericCellValue(); user.setScore(value1); list.add(user); } //遍历输出 for (User user:list ) { System.out.println(user); } } }
User类:
public class User { private String name; private Integer score; public User() { } public User(String name, Integer score) { this.name = name; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getScore() { return score; } public void setScore(Integer score) { this.score = score; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", score=" + score + '}'; } }
ok