1人参与 • 2025-12-09 • Java
在日常开发中,我们常常需要读取excel文件中的数据进行进一步处理。无论是批量导入数据、统计分析,还是自动化表格处理,java都可以提供高效、稳定的读取方式。
本文将介绍如何使用 spire.xls for java 读取excel文件中的内容,涵盖从文件或流中加载、按单元格读取文本和数值、识别单元格类型以及提取公式等多种实用技巧。示例代码简单明了,适合初学者上手,也可作为构建复杂excel处理功能的基础。
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>如果我们需要读取整个表格的数据,可以通过遍历工作表中所有已用单元格来获取值。
import com.spire.xls.*;
public class readexcel {
public static void main(string[] args) {
// 创建workbook对象并加载excel文件
workbook workbook = new workbook();
workbook.loadfromfile("data.xlsx"); // 或 "data.xls"
// 获取第一个工作表
worksheet sheet = workbook.getworksheets().get(0);
// 遍历每一行每一列,读取单元格内容
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() 用于获取单元格的原始字符串值。读取结果:

当excel文件来自网络、数据库或其他流形式时,我们可以通过 inputstream 加载它,无需将文件先保存在磁盘。
import com.spire.xls.*;
import java.io.*;
public class readexcelfromstream {
public static void main(string[] args) throws filenotfoundexception {
// 创建输入流对象
inputstream stream = new fileinputstream("data.xlsx");
// 加载excel文件
workbook workbook = new workbook();
workbook.loadfromstream(stream);
system.out.println("load excel file successfully.");
}
}说明:
.xls 和 .xlsx 格式。除了文本,excel单元格中还可能包含数字、布尔值、日期、公式等。下面示例展示如何获取各种数据类型及公式信息。
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(); // 公式内容
string result = cell.getenvalutedvalue(); // 公式计算结果
double number = cell.getnumbervalue(); // 数值
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() 返回公式的计算结果。本文介绍了三种在java中读取excel文件的方法,涵盖了从本地文件与流中加载、按行读取数据、以及单元格类型识别等多个实用场景。通过这些技巧,我们可以轻松实现对excel文件内容的灵活读取与后续处理。
以上就是使用java读取excel文件内容的三种方法的详细内容,更多关于java读取excel文件内容的资料请关注代码网其它相关文章!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论