java如何打开excell
使用Apache POI库打开Excel文件
Apache POI是一个流行的Java库,用于处理Microsoft Office格式文件,包括Excel。以下是使用POI打开Excel文件的基本方法。
确保在项目中添加Apache POI依赖。对于Maven项目,可以在pom.xml中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
打开Excel文件(.xlsx格式)的代码示例:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) {
String filePath = "path/to/your/file.xlsx";
try (FileInputStream fis = new FileInputStream(filePath);
Workbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
for (Row row : sheet) {
for (Cell cell : row) {
System.out.print(cell.toString() + "\t");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用JExcelAPI(适用于较旧的.xls格式)
JExcelAPI是另一个处理Excel文件的Java库,特别适合处理.xls格式的旧版Excel文件。
添加JExcelAPI依赖:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
代码示例:
import jxl.*;
import jxl.read.biff.BiffException;
import java.io.File;
import java.io.IOException;
public class OldExcelReader {
public static void main(String[] args) {
String filePath = "path/to/your/file.xls";
try {
Workbook workbook = Workbook.getWorkbook(new File(filePath));
Sheet sheet = workbook.getSheet(0);
for (int row = 0; row < sheet.getRows(); row++) {
for (int col = 0; col < sheet.getColumns(); col++) {
Cell cell = sheet.getCell(col, row);
System.out.print(cell.getContents() + "\t");
}
System.out.println();
}
workbook.close();
} catch (IOException | BiffException e) {
e.printStackTrace();
}
}
}
使用EasyExcel处理大数据量Excel
EasyExcel是阿里巴巴开源的Excel处理工具,特别适合处理大数据量的Excel文件。
添加EasyExcel依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
代码示例:
import com.alibaba.excel.EasyExcel;
import java.io.File;
public class BigExcelReader {
public static void main(String[] args) {
String filePath = "path/to/your/file.xlsx";
EasyExcel.read(new File(filePath), new AnalysisEventListener<Object>() {
@Override
public void invoke(Object data, AnalysisContext context) {
System.out.println(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println("读取完成");
}
}).sheet().doRead();
}
}
注意事项
处理Excel文件时需要注意文件路径的正确性,确保程序有权限访问该文件。
对于大型Excel文件,建议使用流式读取方式(如EasyExcel或POI的SAX模式),以避免内存溢出。

不同版本的Excel文件(.xls和.xlsx)需要使用不同的处理方式,POI库通常能自动识别文件格式。






