POI讀寫Excel入門

寫Excel示例:

package com.example.test;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;

import java.io.*;

public class ExcelTest {

    private static final String PATH = "Excel.xlsx";

    @Test
    public void testWriteSheet(){

        try {
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet("Sheet");
            XSSFRow row;

            for (int r = 0; r < 3; r++){
                row = sheet.createRow(r);
                for (int c = 0; c < 3; c++){
                    Cell cell = row.createCell(c);
                    cell.setCellValue(r + c);
                }
            }

            FileOutputStream fileOutputStream = new FileOutputStream(PATH);
            workbook.write(fileOutputStream);
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

讀Excel示例:

package com.example.test;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.Test;

import java.io.*;
import java.util.Iterator;

public class ExcelTest {

    private static final String PATH = "Excel.xlsx";

    @Test
    public void testReadSheet(){

        try {
            FileInputStream fileInputStream = new FileInputStream(PATH);
            XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);
            XSSFSheet sheet = workbook.getSheet("Sheet");
            XSSFRow row;

            Iterator<Row> rowIterator = sheet.rowIterator();
            while (rowIterator.hasNext()){
                row = (XSSFRow) rowIterator.next();
                Iterator<Cell> cellIterator = row.cellIterator();
                while (cellIterator.hasNext()){
                    Cell cell = cellIterator.next();
                    switch (cell.getCellType()){
                        case NUMERIC:
                            double val = cell.getNumericCellValue();
                            System.out.print(val + "\t");
                            break;
                        case STRING:
                            String str = cell.getStringCellValue();
                            System.out.print(str + "\t");
                    }
                }
                System.out.println();
            }
            fileInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章