溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java如何用poi讀取Excel

發(fā)布時間:2023-04-20 09:45:19 來源:億速云 閱讀:158 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“Java如何用poi讀取Excel”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

前言

用戶可以直接讀取本地文件,也可以通過上傳文件的形式讀取excel

注意:poi對于讀取到空白行的時候,會默認的認為是最后一行,將不會再讀取空白行下面的數(shù)據(jù)

第一步導入依賴

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

第二步實現(xiàn)測試類+測試

  • 創(chuàng)建ReloadExcelTest .java文件

  • 此時找到excel的文件路徑,寫文件全名:路徑+文件全名

  • 例:String reloadPath=“D:\ExcelTest\test.xlsx”;

  • windows路徑之間加\\

  • 測試

package tech.niua.admin.outputvalue.util.reloadexcel;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import tech.niua.admin.outputvalue.domain.OutputValue;
import java.io.IOException;
public class ReloadExcelTest {
    public static void readExcel(String reloadPath) throws IOException {
        //1.獲取工作簿
        XSSFWorkbook workbook = new XSSFWorkbook(reloadPath);
        //2.獲取工作表
        XSSFSheet sheet = workbook.getSheetAt(0);
        //獲取行
        //cell.setCellType(Cell.CELL_TYPE_STRING);    //將不同類型的數(shù)據(jù)類型轉(zhuǎn)為String
        int lastRowNum = sheet.getLastRowNum();
        for (int i = 1; i <= lastRowNum; i++) {
            OutputValue outputValueEntity = OutputValue.builder().build();
            Row rowValue = sheet.getRow(i);
            //獲取每一行中每一個單元格的數(shù)據(jù)的數(shù)據(jù)
            for (int j = 0; j < 4; j++) {
                DataFormatter formatter = new DataFormatter();
                String value = formatter.formatCellValue(rowValue.getCell(j));
                System.out.print(value+" ");
            }
            System.out.println();
        }
    }
}

注意:4.1.2版本的poi已經(jīng)不在使用cell.setCellType(Cell.CELL_TYPE_STRING);這種對于讀取到數(shù)據(jù)設置為String類型的這種形式,將不再支持

改用為:

DataFormatter formatter = new DataFormatter();

String value = formatter.formatCellValue(rowValue.getCell(j));

此時value就是我們讀取到的值,可以做一個相應的轉(zhuǎn)換存儲到集合或者對象的形式接收

測試

    public static void main(String[] args) throws IOException {
        String reloadPath="D:\\ExcelTest\\test.xlsx";
        ReloadExcelTest.readExcel(reloadPath);
    }

Java如何用poi讀取Excel

Java如何用poi讀取Excel

實際應用

我們可以用集合的形式接收,或者以集合對象的形式接收,這樣就能夠?qū)τ谧x取到的數(shù)據(jù)做一個操作處理,以便于后面實現(xiàn)批量上傳功能。

----->批量上傳:前端頁面上傳excel文件,由系統(tǒng)自動導入excel的數(shù)據(jù)到數(shù)據(jù)庫

“Java如何用poi讀取Excel”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI