使用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 使用SAX讀取大資料Excel大資料Excel
- POI 分批讀取Excel資料Excel
- java poi讀取Excel資料 插入到SQL SERVER資料庫中JavaExcelSQLServer資料庫
- 使用 Excel 讀取 SAP ABAP CDS View 通過 ODBC 暴露出來的資料ExcelView
- java使用poi生成excelJavaExcel
- java通過相對路徑讀取properties資料Java
- 用Python讀取excel中的資料PythonExcel
- excel 資料讀取Excel
- 使用perl通過thrift連線hbase讀取資料
- apache---poi讀取和建立excel檔案ApacheExcel
- PHPExcel讀取excel資料PHPExcel
- 使用openpyxl庫讀取Excel檔案資料Excel
- 通過 POI 將資料庫中的資料上傳至 OSS 物件儲存資料庫物件
- QTP讀取Excel資料的方法QTExcel
- excel-Spreadsheets:讀取Excel電子表格資料的Java原始碼ExcelJava原始碼
- php 讀取excel中的內容到mysql 資料庫PHPExcelMySql資料庫
- EasyExcel庫來讀取指定Excel檔案中的資料Excel
- POI讀取公式的值公式
- eazyexcel 讀取excel資料插入資料庫Excel資料庫
- Excel上傳並讀取資料Excel
- hutool分批次讀取excel資料Excel
- java讀取請求中body資料Java
- 【easyUI】datagrid 通過formatter讀取巢狀資料UIORM巢狀
- Java操作Excel:POI和EasyExcelJavaExcel
- Java架構-Apache POI ExcelJava架構ApacheExcel
- java poi 匯出excel加密JavaExcel加密
- java通過JXL寫ExcelJavaExcel
- SpringBoot利用java反射機制,實現靈活讀取Excel表格中的資料和匯出資料至Excel表格Spring BootJava反射Excel
- 求救:關於讀取excel資料的問題Excel
- 讀取載密Excel表格中壓縮原始檔資料區Excel
- Java POI匯入Excel檔案JavaExcel
- poi 匯出Excel java程式碼ExcelJava
- 通過python操控MYSQL新增資料,並將資料新增到EXCEL中PythonMySqlExcel
- EXCEL,POI,EASYEXCEL的使用和比較Excel
- Java中使用POI讀取大的Excel檔案或者輸入流時發生out of memory異常參考解決方案JavaExcel
- apache poi 讀取、建立excel 2003、2007ApacheExcel
- 通過模板實現POI
- python讀取excel所有資料(cmd介面)PythonExcel