欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java讀取Excel文件并寫入數據庫的示例代碼

 更新時間:2025年06月30日 11:14:31   作者:Gurucyy  
這篇文章主要介紹了Java讀取Excel文件并寫入數據庫的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

從指定路徑的Excel文件中讀取數據,跳過第一行(通常為標題行),并將每一行的數據映射到實體類對象的屬性中。最終,將所有數據收集到列表中。

1、實體類代碼

package com.code.boot.model;
import lombok.Data;
/**
 * @Author: Gurucyy
 * @date: 2024/03/23  09:47:05
 * @Description: EntityDto
 */
@Data
public class EntityDto {
    private String companyName; //企業(yè)名稱
    private String plate; // 板塊
    private String industry; // 行業(yè)
    private String companyCode; // 統(tǒng)一社會信用代碼
}

2、實現方法

package com.code.boot.controller;
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class ExcelReader {
    // 從指定的Excel文件路徑讀取數據,并返回一個SuzhouDto列表
    private List<EntityDto> readExcelData(String excelFilePath) {
        List<EntityDto> entityDtosList = new ArrayList<>();
        try (FileInputStream fileInputStream = new FileInputStream(new File(excelFilePath));
             Workbook workbook = WorkbookFactory.create(fileInputStream)) {
            Sheet sheet = workbook.getSheetAt(0);
            boolean isFirstRow = true;
            for (Row row : sheet) {
                if (isFirstRow) {
                    isFirstRow = false;
                    continue; // 跳過第一行(標題行)
                }
                EntityDto entityDto = new EntityDto();
                entityDto.setCompanyName(getCellValue(row.getCell(0)));
                entityDto.setPlate(getCellValue(row.getCell(1)));
                entityDto.setIndustry(getCellValue(row.getCell(2)));
                entityDto.setCompanyCode(getCellValue(row.getCell(3)));
                entityDtosList.add(entityDto);
            }
        } catch (Exception e) {
            // 根據自己需求,實現自定義異常處理機制
            e.printStackTrace();
        }
        return entityDtosList;
    }
    // 根據單元格類型獲取單元格的值
    private String getCellValue(Cell cell) {
        if (cell == null) {
            return "";
        }
        switch (cell.getCellType()) {
            case STRING:
                return cell.getStringCellValue();
            case NUMERIC:
                if (DateUtil.isCellDateFormatted(cell)) {
                    // 可選:將日期轉換為格式化的日期字符串
                    return cell.getDateCellValue().toString();
                } else {
                    return Double.toString(cell.getNumericCellValue());
                }
            case BOOLEAN:
                return Boolean.toString(cell.getBooleanCellValue());
            case FORMULA:
                return cell.getCellFormula();
            default:
                return "";  // 對于空白和其他類型
        }
    }
    // todo 如果想將所有類型的單元格統(tǒng)一轉換為字符串類型,注釋掉上面的getCellValue方法,調用該方法即可
    //private String getCellValue(Cell cell) {
    //    if (cell == null) {
    //        return "";
    //    }
    //    cell.setCellType(CellType.STRING);
    //    return cell.getStringCellValue();
    //}
}

3、根據最終返回的entityDtosList列表,使用MyBatisPlus的批量插入方法或其他方法,將數據保存到數據庫。

到此這篇關于Java讀取Excel文件并寫入數據庫的文章就介紹到這了,更多相關Java讀取Excel文件內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring MVC常用客戶端參數接收方式詳解

    Spring MVC常用客戶端參數接收方式詳解

    這篇文章主要介紹了Spring MVC常用客戶端參數接收方式詳解,文章主要介紹了幾種方式,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • MyEclipse8.6首次運行maven項目圖標上沒有小M的標識怎么解決

    MyEclipse8.6首次運行maven項目圖標上沒有小M的標識怎么解決

    myeclipse8.6導入maven項目后識別為普通java項目,即項目圖標上沒有小M的標識。這時是無法直接運行的,怎么解決這一問題呢?下面小編給大家?guī)砹私鉀Q方案,需要的朋友參考下吧
    2016-11-11
  • Java連接Mysql數據庫詳細代碼實例

    Java連接Mysql數據庫詳細代碼實例

    這篇文章主要介紹了Java連接Mysql數據庫詳細代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • ocp開閉原則_動力節(jié)點Java學院整理

    ocp開閉原則_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了ocp開閉原則的相關資料,ocp開閉原則指導我們如何建立一個穩(wěn)定的、靈活的系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Spring?Boot?快速使用?HikariCP?連接池配置詳解

    Spring?Boot?快速使用?HikariCP?連接池配置詳解

    Spring Boot 2.x 將其作為默認的連接池組件,項目中添加 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 模塊后,HikariCP 依賴會被自動引入,這篇文章主要介紹了Spring?Boot使用HikariCP連接池配置詳解,需要的朋友可以參考下
    2023-06-06
  • 詳解IntelliJ IDEA 自定義方法注解模板

    詳解IntelliJ IDEA 自定義方法注解模板

    本篇文章主要介紹了IntelliJ IDEA 自定義方法注解模板,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Java泛型的使用限制實例分析

    Java泛型的使用限制實例分析

    這篇文章主要介紹了Java泛型的使用限制,結合實例形式分析了不能使用java泛型的情況以及泛型使用的相關注意事項,需要的朋友可以參考下
    2019-08-08
  • 一篇文章帶你入門Java運算符

    一篇文章帶你入門Java運算符

    這篇文章主要介紹了Java基本數據類型和運算符,結合實例形式詳細分析了java基本數據類型、數據類型轉換、算術運算符、邏輯運算符等相關原理與操作技巧,需要的朋友可以參考下
    2021-08-08
  • java正則表達式驗證郵箱、電話號碼示例

    java正則表達式驗證郵箱、電話號碼示例

    這篇文章主要介紹了java正則表達式驗證郵箱、電話號碼示例,需要的朋友可以參考下
    2014-03-03
  • 使用mybatis切片實現數據權限控制的操作流程

    使用mybatis切片實現數據權限控制的操作流程

    數據權限控制需要對查詢出的數據進行篩選,對業(yè)務入侵最少的方式就是利用mybatis或者數據庫連接池的切片對已有業(yè)務的sql進行修改,本文給大家介紹了使用mybatis切片實現數據權限控制的操作流程,需要的朋友可以參考下
    2024-07-07

最新評論