Java操作Excel进行文件数据的读取和写入(poi框架)

版权声明:《==study hard and make progress every day==》 https://blog.csdn.net/qq_38225558/article/details/84671422

温馨小提示:

Java中操作办公软件的框架:(下面是常用的2种)
jxl:只能对Excel进行操作,属于比较老的框架。
poi:是apache的项目,可对ms的word,Excel,PPT进行操作。


poi如何操作文件???

第一步:引入poi所需要的jar包  (注意:这是maven项目的引入方式,其他可根据自己的项目情况)

<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>3.11</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>3.11</version>
</dependency>

第二步:操作文件

①创建一个excel并写入数据

效果图:

    //创建一个excel(里面装一个99乘法表)
    public void testWrite() throws Exception {
        //在内存中创建一个Excel文件
        SXSSFWorkbook workbook = new SXSSFWorkbook();
        //给Excel文件创建一张 Sheet1表
        Sheet sheet = workbook.createSheet("qq");//table --》下面的Sheet1名
        //创建行
        for (int i = 1; i <= 9; i++) {
            Row row = sheet.createRow(i - 1); //类似于以前的tr
            //为一行创建列-->格子
            for (int j = 1; j <= i; j++) {
                Cell cell = row.createCell(j - 1);
                //在格子中添加相应的值
                cell.setCellValue(i + "*" + j + "=" + (i * j));
            }
        }
        //文件输出流--》把内存中的excel文件写到磁盘中
        FileOutputStream fos = new FileOutputStream("zq.xlsx");
        workbook.write(fos);
        fos.close();
    }

②读取excel文件

文件内容:

    //读取文件
    public void testRead() throws Exception {
        Workbook wb = WorkbookFactory.create(new File("emp.xlsx")); //拿到文件
        Sheet sheet = wb.getSheetAt(0); //读取第一张表
        int lastRowNum = sheet.getLastRowNum();//获取到总行数 -->最后一行就是总行数
        for (int i = 2; i <= lastRowNum; i++) {
            Row row = sheet.getRow(i); //拿每一行
            short lastCellNum = row.getLastCellNum(); //拿到对应行的总列数
            for (int j = 0; j < lastCellNum; j++) {
                Cell cell = row.getCell(j);
                System.out.print(cell.getStringCellValue() + " --> ");
            }
            System.out.println();
        }
    }

控制台打印内容:

最后文件存在项目的位置:

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/84671422