成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

POI實現(xiàn)將導入Excel文件

cheng10 / 2800人閱讀

摘要:獲取表格數(shù)據(jù)獲取表格中的數(shù)據(jù)分為以下幾步獲取表格獲取某一行獲取這一行中的某個單元格代碼實現(xiàn)獲取第一個張表獲取每行中的字段獲取行獲取單元格中的值持久化獲取出單元格中的數(shù)據(jù)后,最后就是用數(shù)據(jù)建立對象了。獲取行獲取單元格中的值持久化相關(guān)參考

問題描述

現(xiàn)需要批量導入數(shù)據(jù),數(shù)據(jù)以Excel形式導入。

POI介紹

我選擇使用的是apache POI。這是有Apache軟件基金會開放的函數(shù)庫,他會提供API給java,使其可以對office文件進行讀寫。

我這里只需要使用其中的Excel部分。

實現(xiàn)

首先,Excel有兩種格式,一種是.xls(03版),另一種是.xlsx(07版)。針對兩種不同的表格格式,POI對應提供了兩種接口。HSSFWorkbookXSSFWorkbook

導入依賴

    org.apache.poi
    poi
    RELEASE


    org.apache.poi
    poi-ooxml
    RELEASE
處理版本
Workbook workbook = null;
try {
    if (file.getPath().endsWith("xls")) {
        System.out.println("這是2003版本");
        workbook = new XSSFWorkbook(new FileInputStream(file));
    } else if (file.getPath().endsWith("xlsx")){
        workbook = new HSSFWorkbook(new FileInputStream(file));
        System.out.println("這是2007版本");
    }
            
} catch (IOException e) {
    e.printStackTrace();
}

這里需要判斷一下Excel的版本,根據(jù)擴展名,用不同的類來處理文件。

獲取表格數(shù)據(jù)

獲取表格中的數(shù)據(jù)分為以下幾步:

1.獲取表格
2.獲取某一行
3.獲取這一行中的某個單元格

代碼實現(xiàn):

// 獲取第一個張表
Sheet sheet = workbook.getSheetAt(0);
      
// 獲取每行中的字段
for (int i = 0; i <= sheet.getLastRowNum(); i++) {
    Row row = sheet.getRow(i);    // 獲取行

    // 獲取單元格中的值
    String studentNum = row.getCell(0).getStringCellValue();   
    String name = row.getCell(1).getStringCellValue();
    String phone = row.getCell(2).getStringCellValue();
}
持久化

獲取出單元格中的數(shù)據(jù)后,最后就是用數(shù)據(jù)建立對象了。

List studentList = new ArrayList<>();

for (int i = 0; i <= sheet.getLastRowNum(); i++) {
    Row row = sheet.getRow(i);    // 獲取行

    // 獲取單元格中的值
    String studentNum = row.getCell(0).getStringCellValue();   
    String name = row.getCell(1).getStringCellValue();
    String phone = row.getCell(2).getStringCellValue();
    
    Student student = new Student();
    student.setStudentNumber(studentNum);
    student.setName(name);
    student.setPhoneNumber(phone);
    
    studentList.add(student);
}

// 持久化
studentRepository.saveAll(studentList);

相關(guān)參考:
https://poi.apache.org/compon...
https://blog.csdn.net/daihuim...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73413.html

相關(guān)文章

  • 慕課網(wǎng)_《解密JAVA實現(xiàn)Excel導入導出》學習總結(jié)

    時間:2017年07月06日星期四說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 預備知識 基礎(chǔ)知識 struts2框架(上傳下載功能) xml解析技術(shù)(導入模板) JQuery EasyUI(前臺美觀) 課程目錄 實現(xiàn)方式 定制導入模版 導入文件 導...

    enrecul101 評論0 收藏0
  • Java實現(xiàn)excel導入導出學習筆記1 - 實現(xiàn)方式

    摘要:需要的技術(shù)框架利用其上傳下載功能解析技術(shù)定制導入模板制作前臺與格式對應,版本低,兼容性好與格式對應組成的幾個概念工作薄工作表行記錄單元格創(chuàng)建中的的詳見如創(chuàng)建創(chuàng)建工作簿創(chuàng)建工作表創(chuàng)建第一行創(chuàng)建一個文件存盤名字性別男解析文件創(chuàng)建,讀取文件 需要的技術(shù) 1、strut2框架 利用其上傳下載功能2、xml解析技術(shù) 定制導入模板3、jquery UI 制作前臺 4、showImg(/i...

    wean 評論0 收藏0
  • Java Excel導入導出,基于XML和Easy-excel使用

    摘要:我想能不能像配置文件一樣可配置的導入導出,那樣使用起來就方便許多。配置和使用下面是員工信息模型。支持多種映射,使用英文逗號進行分割。導入時它會以分割前面的作為導入時使用的值,后面的作為導出時使用的值后面值進行逆推導出時同理。 1.前言 在工作時,遇到過這樣的需求,需要靈活的對工單進行導入或?qū)С觯郧白约阂沧鲞^,但使用不靈活繁瑣。我想能不能像配置文件一樣可配置的導入導出,那樣使用起來就方...

    13651657101 評論0 收藏0
  • poi導出excel

    摘要:積分消費明細對賬單其中,有四個參數(shù),分別是,,,。導出讀取數(shù)據(jù)庫的信息,轉(zhuǎn)成。 public void detailExport() { String sourceSystem = getPara(source_system); String dataDate = getPara(data_date); Integer pointsType = get...

    RayKr 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<