使用Java讀取Excel文件內(nèi)容的三種方法
在日常開發(fā)中,我們常常需要讀取Excel文件中的數(shù)據(jù)進行進一步處理。無論是批量導入數(shù)據(jù)、統(tǒng)計分析,還是自動化表格處理,Java都可以提供高效、穩(wěn)定的讀取方式。
本文將介紹如何使用 Spire.XLS for Java 讀取Excel文件中的內(nèi)容,涵蓋從文件或流中加載、按單元格讀取文本和數(shù)值、識別單元格類型以及提取公式等多種實用技巧。示例代碼簡單明了,適合初學者上手,也可作為構(gòu)建復(fù)雜Excel處理功能的基礎(chǔ)。
- 方法1:從Excel文件中逐行讀取所有內(nèi)容
- 方法2:通過InputStream讀取Excel文件
- 方法3:讀取單元格的不同數(shù)據(jù)類型
Maven:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.3.0</version>
</dependency>方法1:從Excel文件中逐行讀取所有內(nèi)容
如果我們需要讀取整個表格的數(shù)據(jù),可以通過遍歷工作表中所有已用單元格來獲取值。
示例代碼
import com.spire.xls.*;
public class ReadExcel {
public static void main(String[] args) {
// 創(chuàng)建Workbook對象并加載Excel文件
Workbook workbook = new Workbook();
workbook.loadFromFile("data.xlsx"); // 或 "data.xls"
// 獲取第一個工作表
Worksheet sheet = workbook.getWorksheets().get(0);
// 遍歷每一行每一列,讀取單元格內(nèi)容
for (int i = 1; i <= sheet.getLastRow(); i++) {
for (int j = 1; j <= sheet.getLastColumn(); j++) {
String cellText = sheet.getCellRange(i, j).getValue();
System.out.print(cellText + "\t");
}
System.out.println();
}
}
}說明:
getCellRange(i, j).getValue()用于獲取單元格的原始字符串值。- 行列索引從1開始,與Excel中一致。
讀取結(jié)果:

方法2:通過InputStream讀取Excel文件
當Excel文件來自網(wǎng)絡(luò)、數(shù)據(jù)庫或其他流形式時,我們可以通過 InputStream 加載它,無需將文件先保存在磁盤。
示例代碼
import com.spire.xls.*;
import java.io.*;
public class ReadExcelFromStream {
public static void main(String[] args) throws FileNotFoundException {
// 創(chuàng)建輸入流對象
InputStream stream = new FileInputStream("data.xlsx");
// 加載Excel文件
Workbook workbook = new Workbook();
workbook.loadFromStream(stream);
System.out.println("Load Excel file successfully.");
}
}說明:
- 適用于文件上傳或Web服務(wù)場景。
- 支持
.xls和.xlsx格式。
方法3:讀取單元格的不同數(shù)據(jù)類型
除了文本,Excel單元格中還可能包含數(shù)字、布爾值、日期、公式等。下面示例展示如何獲取各種數(shù)據(jù)類型及公式信息。
示例代碼
import com.spire.xls.*;
import java.util.Date;
public class ReadCellTypes {
public static void main(String[] args) {
Workbook workbook = new Workbook();
workbook.loadFromFile("data.xlsx");
Worksheet sheet = workbook.getWorksheets().get(0);
CellRange cell = sheet.getRange().get(2, 1); // B2
String text = cell.getText(); // 顯示文本
String value = cell.getValue(); // 原始字符串
Object value2 = cell.getValue2(); // 通用對象
String formula = cell.getFormula(); // 公式內(nèi)容
String result = cell.getEnvalutedValue(); // 公式計算結(jié)果
double number = cell.getNumberValue(); // 數(shù)值
Date date = cell.getDateTimeValue(); // 日期
boolean bool = cell.getBooleanValue(); // 布爾值
System.out.println("Text: " + text);
System.out.println("Raw Value: " + value);
System.out.println("Formula: " + formula);
System.out.println("Evaluated Result: " + result);
System.out.println("Number: " + number);
System.out.println("Date: " + date);
System.out.println("Boolean: " + bool);
}
}說明:
.getFormula()可提取單元格中的公式表達式。.getEnvalutedValue()返回公式的計算結(jié)果。- 不同類型的方法適用于不同格式的單元格。
總結(jié)
本文介紹了三種在Java中讀取Excel文件的方法,涵蓋了從本地文件與流中加載、按行讀取數(shù)據(jù)、以及單元格類型識別等多個實用場景。通過這些技巧,我們可以輕松實現(xiàn)對Excel文件內(nèi)容的靈活讀取與后續(xù)處理。
以上就是使用Java讀取Excel文件內(nèi)容的三種方法的詳細內(nèi)容,更多關(guān)于Java讀取Excel文件內(nèi)容的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實現(xiàn)操作JSON的便捷工具類完整實例【重寫Google的Gson】
這篇文章主要介紹了Java實現(xiàn)操作JSON的便捷工具類,基于重寫Google的Gson實現(xiàn),涉及java針對json數(shù)據(jù)的各種常見轉(zhuǎn)換操作實現(xiàn)技巧,需要的朋友可以參考下2017-10-10
使用spring-task定時任務(wù)動態(tài)配置修改執(zhí)行時間
這篇文章主要介紹了使用spring-task定時任務(wù)動態(tài)配置修改執(zhí)行時間,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Cloud 整合Apache-SkyWalking實現(xiàn)鏈路跟蹤的方法
這篇文章主要介紹了Spring Cloud 整合Apache-SkyWalking鏈路跟蹤的示例代碼,代碼簡單易懂,通過圖文相結(jié)合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
詳解J2EE開發(fā)的網(wǎng)站部署到阿里云服務(wù)器的方法
這篇文章主要介紹了詳解J2EE開發(fā)的網(wǎng)站部署到阿里云服務(wù)器的方法,需要的朋友可以參考下2018-01-01

