Java 读取本地 Excel 文件

比眉伴天荒 2022-12-03 12:49 359阅读 0赞

GAV 坐标

  1. <dependency>
  2. <groupId>org.apache.poi</groupId>
  3. <artifactId>poi-ooxml</artifactId>
  4. <version>4.1.1</version>
  5. </dependency>

测试类

  • Order.class

    package cn.me.es;

    import lombok.Data;

    /* @author yanyg @since 2020/9/3 /
    @Data
    public class Order {

    1. String wayBillNo;
    2. String name;
    3. String phone;
    4. String province;
    5. String city;
    6. String county;
    7. String address;

    }

  • ReadExcelUtils.class

    package cn.me.es;

    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.text.ParseException;
    import java.util.ArrayList;
    import java.util.List;

  1. public class ReadExcelUtils {
  2. //XSSF -- 提供读写Microsoft Excel OOXML格式档案的功能
  3. //XSSFWorkbook:是操作Excel2007(以上)的版本,扩展名是.xlsx
  4. public static List<Order> read2007Xlsx(InputStream in) throws IOException, InvalidFormatException, ParseException {
  5. List<Order> list = new ArrayList<>();
  6. XSSFWorkbook xWorkbook = new XSSFWorkbook(in);
  7. // Read the Sheet
  8. XSSFSheet xssfSheet = xWorkbook.getSheetAt(0);
  9. // Read the Row
  10. for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++) {
  11. XSSFRow xssfRow = xssfSheet.getRow(rowNum);
  12. if (xssfRow != null) {
  13. Order order =new Order();
  14. // 单元格从 0 开始
  15. order.setWayBillNo(xssfRow.getCell(0).getStringCellValue());
  16. order.setName(xssfRow.getCell(1).getStringCellValue());
  17. order.setPhone(xssfRow.getCell(2).getStringCellValue());
  18. order.setProvince(xssfRow.getCell(3).getStringCellValue());
  19. order.setCity(xssfRow.getCell(4).getStringCellValue());
  20. order.setCounty(xssfRow.getCell(5).getStringCellValue());
  21. order.setAddress(xssfRow.getCell(6).getStringCellValue());
  22. list.add(order);
  23. }
  24. }
  25. xWorkbook.close();
  26. return list;
  27. }
  28. public static void main(String[] args) throws InvalidFormatException, IOException, ParseException {
  29. String fullFileName = "D:\\41473.xlsx";
  30. InputStream is = new FileInputStream(fullFileName);
  31. List<Order> list = read2007Xlsx(is);
  32. System.out.println("size==>" + list.size());
  33. // 获取resource目录下的 41473.xlsx 文件:
  34. // String resource = "41473.xlsx";
  35. // ClassPathResource classPathResource = new ClassPathResource(resource);
  36. // List<Order> list = read2007Xlsx(classPathResource.getInputStream());
  37. // System.out.println("size==>" + list.size());
  38. }
  39. }

发表评论

表情:
评论列表 (有 0 条评论,359人围观)

还没有评论,来说两句吧...

相关阅读