Java reads Excel report data

Excel content:

Name gender class Language mathematics English
Zhang San male 1 96 100 96
Li Si male 1 95 99 95
Wang Wu Female 1 93 99 92
Zhao Liu Female 1 91 98 90

 

1. Import dependencies

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

2. Writing code

package com.test;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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.XSSFWorkbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;
import java.io.FileInputStream;

@RestController
@RequestMapping("/test")
public class TestReadExcel {

    @GetMapping("/test1")
    public void test1() throws Exception {
        File excel = new File("C:\\Users\\lenovo\\Desktop\\test.xlsx");

        String[] split = excel.getName().split("\\.");
        Workbook wb;
        if ("xls".equals(split[1])) {
            FileInputStream fis = new FileInputStream(excel);
            wb = new HSSFWorkbook(fis);
        } else if ("xlsx".equals(split[1])) {
            wb = new XSSFWorkbook(excel);
        } else {
            throw new RuntimeException();
        }

        // 开始解析
        Sheet sheet = wb.getSheetAt(0);
        int firstRowIndex = sheet.getFirstRowNum() + 1; // 不获取表头数据
        int lastRowIndex = 10000;   // 截止行数
        System.out.println("姓名  性别  班级  语文  数学  英语");
        for (int rIndex = firstRowIndex; rIndex <= lastRowIndex; rIndex++) {
            Row row = sheet.getRow(rIndex);
            if (row != null) {
                System.out.print(row.getCell(0).toString() + "  ");
                System.out.print(row.getCell(1).toString() + "  ");
                System.out.print(row.getCell(2).toString() + "  ");
                System.out.print(row.getCell(3).toString() + "  ");
                System.out.print(row.getCell(4).toString() + "  ");
                System.out.print(row.getCell(5).toString() + "  ");
                System.out.println();
            }
        }
        wb.close();
    }

}

3. Printout

姓名  性别  班级  语文  数学  英语
张三  男  1.0  96.0  100.0  96.0  
李四  男  1.0  95.0  99.0  95.0  
王五  女  1.0  93.0  99.0  92.0  
赵六  女  1.0  91.0  98.0  90.0  

 

 

Guess you like

Origin blog.csdn.net/weixin_42629433/article/details/115227546