摘要:獲取表格數據獲取表格中的數據分為以下幾步獲取表格獲取某一行獲取這一行中的某個單元格代碼實現獲取第一個張表獲取每行中的字段獲取行獲取單元格中的值持久化獲取出單元格中的數據后,最后就是用數據建立對象了。獲取行獲取單元格中的值持久化相關參考
問題描述
現需要批量導入數據,數據以Excel形式導入。
POI介紹我選擇使用的是apache POI。這是有Apache軟件基金會開放的函數庫,他會提供API給java,使其可以對office文件進行讀寫。
我這里只需要使用其中的Excel部分。
實現首先,Excel有兩種格式,一種是.xls(03版),另一種是.xlsx(07版)。針對兩種不同的表格格式,POI對應提供了兩種接口。HSSFWorkbook和XSSFWorkbook
導入依賴處理版本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的版本,根據擴展名,用不同的類來處理文件。
獲取表格數據獲取表格中的數據分為以下幾步:
1.獲取表格
2.獲取某一行
3.獲取這一行中的某個單元格
代碼實現:
// 獲取第一個張表 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(); }持久化
獲取出單元格中的數據后,最后就是用數據建立對象了。
ListstudentList = 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);
相關參考:
https://poi.apache.org/compon...
https://blog.csdn.net/daihuim...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73413.html
時間:2017年07月06日星期四說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:課程介紹 1-1 預備知識 基礎知識 struts2框架(上傳下載功能) xml解析技術(導入模板) JQuery EasyUI(前臺美觀) 課程目錄 實現方式 定制導入模版 導入文件 導...
摘要:需要的技術框架利用其上傳下載功能解析技術定制導入模板制作前臺與格式對應,版本低,兼容性好與格式對應組成的幾個概念工作薄工作表行記錄單元格創建中的的詳見如創建創建工作簿創建工作表創建第一行創建一個文件存盤名字性別男解析文件創建,讀取文件 需要的技術 1、strut2框架 利用其上傳下載功能2、xml解析技術 定制導入模板3、jquery UI 制作前臺 4、showImg(/i...
摘要:我想能不能像配置文件一樣可配置的導入導出,那樣使用起來就方便許多。配置和使用下面是員工信息模型。支持多種映射,使用英文逗號進行分割。導入時它會以分割前面的作為導入時使用的值,后面的作為導出時使用的值后面值進行逆推導出時同理。 1.前言 在工作時,遇到過這樣的需求,需要靈活的對工單進行導入或導出,以前自己也做過,但使用不靈活繁瑣。我想能不能像配置文件一樣可配置的導入導出,那樣使用起來就方...
摘要:積分消費明細對賬單其中,有四個參數,分別是,,,。導出讀取數據庫的信息,轉成。 public void detailExport() { String sourceSystem = getPara(source_system); String dataDate = getPara(data_date); Integer pointsType = get...
閱讀 3040·2023-04-26 00:49
閱讀 3719·2021-09-29 09:45
閱讀 964·2019-08-29 18:47
閱讀 2738·2019-08-29 18:37
閱讀 2723·2019-08-29 16:37
閱讀 3286·2019-08-29 13:24
閱讀 1773·2019-08-27 10:56
閱讀 2344·2019-08-26 11:42