使用Java通過POI讀取EXCEL中的資料
這裡有個Excel,怎麼使用java讀取excel中的資料呢?
檔案存放位置:
首先引入poi的jar包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
我這裡寫了一個People類,目的是想把Excel中的資料讀取出來後轉成這個類,方便後續進行操作。
@Data
@NoArgsConstructor
@AllArgsConstructor
public class People {
private String name;
private String age;
private String sex;
private String area;
}
然後看程式碼:
/**
* FileName: MyExcelTest
* Author: zp
* Date: 2020/2020/10/11/10:16
* Description:
*/
package excel;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Description:
* @author zpzp6
* @create 2020/2020/10/11/10:16
* @since 1.0.0
*/
public class MyExcelTest {
public static void main(String[] args) throws IOException {
//獲取工作簿
XSSFWorkbook book = new XSSFWorkbook("E:\\我的檔案\\測試\\測試.xlsx");
//獲取工作表
XSSFSheet sheet = book.getSheetAt(0);
// //第一種讀取讀取所有資料,實際中不需要
// //獲取行
// for (Row cells : sheet) {
// //獲取單元格
// for (Cell cell : cells) {
// //獲取單元格中的內容
// cell.setCellType(CellType.STRING);
// System.out.println(cell.getStringCellValue());
// }
// }
List<People> peopleList=new ArrayList<>();
//普通for迴圈
//開始索引0 結束索引
int lastRowNum = sheet.getLastRowNum();
System.out.println("最後一行:"+lastRowNum);
for (int i = 1; i <= lastRowNum; i++) {
//獲取單元格
XSSFRow row = sheet.getRow(i);
if(row!=null){
List<String> list =new ArrayList<>();
for (Cell cell : row) {
if(cell!=null && !"".equals(cell)){
//此處是把單元格都轉換成String型別
cell.setCellType(CellType.STRING);
String cellValue = cell.getStringCellValue();
System.out.println("單元格資料:"+cellValue);
list.add(cellValue);
}
}
if(list.size()>0){
People people = new People(list.get(0), list.get(1), list.get(2), list.get(3));
peopleList.add(people);
}
}
}
for (People people : peopleList) {
System.out.println(people);
}
//釋放資源
book.close();
}
}
結果:
如果有這樣的報錯是因為開啟了Excel檔案,關閉就好。
相關文章
- POI 分批讀取Excel資料Excel
- 使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料ExcelView
- java使用poi生成excelJavaExcel
- java poi 讀取模版excel寫入資料並保持原本單元格樣式JavaExcel
- 前端讀取Excel表中資料前端Excel
- excel-Spreadsheets:讀取Excel電子表格資料的Java原始碼ExcelJava原始碼
- 使用openpyxl庫讀取Excel檔案資料Excel
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- EasyExcel庫來讀取指定Excel檔案中的資料Excel
- eazyexcel 讀取excel資料插入資料庫Excel資料庫
- SpringBoot利用java反射機制,實現靈活讀取Excel表格中的資料和匯出資料至Excel表格Spring BootJava反射Excel
- hutool分批次讀取excel資料Excel
- Excel上傳並讀取資料Excel
- Java架構-Apache POI ExcelJava架構ApacheExcel
- Java操作Excel:POI和EasyExcelJavaExcel
- python讀取excel所有資料(cmd介面)PythonExcel
- 通過python操控MYSQL新增資料,並將資料新增到EXCEL中PythonMySqlExcel
- hutool去讀excel中資料Excel
- Java中使用POI讀取大的Excel檔案或者輸入流時發生out of memory異常參考解決方案JavaExcel
- poi 匯出Excel java程式碼ExcelJava
- Java POI匯入Excel檔案JavaExcel
- EXCEL,POI,EASYEXCEL的使用和比較Excel
- Java使用xlsx-streamer和EasyExcel解決讀取超大excel檔案資料處理方法JavaExcel
- Java 新增、讀取、刪除Excel中的圖表趨勢線JavaExcel
- SpringBoot通過@ConfigurationProperties註解和@Value讀取資原始檔中的值Spring Boot
- 通過模板實現POI
- 在 Excel 裡使用 ODBC 讀取 SAP BTP 平臺上 CDS view 的資料ExcelView
- POI的使用及匯出excel報表Excel
- 【python介面自動化】- openpyxl讀取excel資料PythonExcel
- POI操作Excel文件-中級篇Excel
- poi的excel匯出Excel
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- Java讀取暫存器資料的方法Java
- Java如何利用poi建立excel並寫入資料,看這篇就夠啦~JavaExcel
- 使用 jQuery 讀取 Vue 元件的資料jQueryVue元件
- php讀取excel檔案資料的匯入和匯出PHPExcel
- poi批量修改Excel文件,修改工作表中的目標單元格資料Excel
- java讀取excel為物件並進行讀寫操作JavaExcel物件