Java 使用POI处理Excel表格(获取单元格中数据)

1.什么是POI?

Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 .NET的开发人员则可以利用NPOI (POI for .NET) 来存取 Microsoft Office文档的功能。其中,
HSSF提供读写Microsoft Excel XLS格式档案的功能。
XSSF提供读写Microsoft Excel OOXML XLSX格式档案的功能。
HWPF提供读写Microsoft Word DOC格式档案的功能。
HSLF提供读写Microsoft PowerPoint格式档案的功能。
HDGF提供读Microsoft Visio格式档案的功能。
HPBF提供读Microsoft Publisher格式档案的功能。
HSMF提供读Microsoft Outlook格式档案的功能。
关于HSSF与XSSF
HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现
XSSF是POI工程对Excel 2007 OOXML (。xlsx)文件操作的纯Java实现
从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API----SXSSF

2.获取POI JAR包

http://poi.apache.org/

3.使用POI 处理Excel实例

public ArrayList<Students> analyzeFile() throws NumberFormatException {
     
    ArrayList<Students> students = new ArrayList<Students>();
    XSSFWorkbook xssfWorkbook = null;
    try {
     
        InputStream is = new FileInputStream(file);
        xssfWorkbook = new XSSFWorkbook(is);//新建表
        Sheet sheet = xssfWorkbook.getSheet("sheet1");//获取Excel中表1
        //获取行数
        int rows = sheet.getLastRowNum();
        //获取列数
        int clos = sheet.getRow(0).getPhysicalNumberOfCells();
        for (int i = 1; i < rows; i++) {
     
            for (int j = 0; j < clos; j++) {
     //获取单元格中内容
                int ID = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
                String Name = sheet.getRow(i).getCell(j++).getStringCellValue();
                String Department = sheet.getRow(i).getCell(j++).getStringCellValue();
                int Age = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
                String Run3km = sheet.getRow(i).getCell(j++).getStringCellValue();
                int Sit_ups = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
                int horizontal_bar = Integer.parseInt(NumberToTextConverter.toText(sheet.getRow(i).getCell(j++).getNumericCellValue()));
                String Serpentine_run = sheet.getRow(i).getCell(j++).getStringCellValue();
                students.add(new Students(ID,Name,Department,Age,Run3km,Sit_ups,horizontal_bar,Serpentine_run));
            }
        }
    } catch (Exception e1) {
     
        e1.printStackTrace();
    }
    return students;
}

你可能感兴趣的:(Java,POI,Java,Excel)