Java操作Excel:创建与读取详解
5星 · 超过95%的资源 需积分: 10 132 浏览量
更新于2024-09-21
收藏 4KB TXT 举报
"利用Java创建和读取Excel文档是Java开发中常见的需求,主要涉及Java处理Excel文件的库Apache POI。Apache POI是一个开源项目,允许开发者使用Java来创建、修改Microsoft Office格式的文件,包括Excel。在本文档中,我们将探讨如何使用Apache POI来创建一个新的Excel工作簿并写入数据,以及如何读取已有的Excel文档。
首先,要使用Apache POI,你需要在项目中引入相应的依赖。对于Java 2 SDK 1.4.0及更高版本,你可以通过Maven或Gradle将Apache POI添加到你的构建配置中。Apache POI的官方网站(http://jakarta.apache.org/poi/)提供了详细的API文档和示例代码,供开发者参考。
以下是一个简单的Java程序示例,演示如何创建一个Excel工作簿,并在其中写入一行数据:
```java
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileOutputStream;
public class CreateXL {
// 定义Excel文件的输出路径
public static String outputFile = "D:/JTest/gongye.xls";
public static void main(String[] argv) {
try {
// 创建一个新的Excel工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建一个新的工作表,可以自定义工作表名称
HSSFSheet sheet = workbook.createSheet();
// 在第一行创建一个单元格
HSSFRow row = sheet.createRow((short) 0);
// 在该单元格中创建一个字符串类型的值
HSSFCell cell = row.createCell((short) 0);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("测试值");
// 将工作簿写入到指定的输出流,这里是一个文件输出流
FileOutputStream fOut = new FileOutputStream(outputFile);
workbook.write(fOut);
fOut.flush();
// 关闭输出流
fOut.close();
System.out.println("文件已创建成功!");
} catch (Exception e) {
System.out.println("出现错误:" + e.getMessage());
}
}
}
```
这段代码创建了一个新的Excel文件(gongye.xls),并在其中创建了一个名为“Sheet1”的工作表。在第一行第一列写入了字符串“测试值”。
要读取Excel文件,可以使用`HSSFWorkbook`的静态方法`WorkbookFactory.create()`,传入一个文件输入流。读取数据后,可以通过`HSSFSheet`、`HSSFRow`和`HSSFCell`对象访问和操作数据。例如,获取单元格的值:
```java
import org.apache.poi.ss.usermodel.*;
public class ReadXL {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("D:/JTest/gongye.xls");
Workbook workbook = WorkbookFactory.create(fis);
Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
Row row = sheet.getRow(0); // 获取第一行
Cell cell = row.getCell(0); // 获取第一列的单元格
if (cell != null) {
String cellValue = cell.getStringCellValue();
System.out.println("读取到的值:" + cellValue);
}
workbook.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
通过这些基本操作,你可以实现更复杂的Excel处理功能,如遍历工作表、合并单元格、设置样式、公式计算等。记住,处理大型Excel文件时要注意性能优化,避免一次性加载整个文件到内存。Apache POI提供了流式处理模式(SXSSF)来处理大文件,以降低内存消耗。
Apache POI为Java开发者提供了一套强大的工具,使得在Java环境中创建和读取Excel文档变得简单易行。通过深入学习其API,你可以创建出满足各种业务需求的Excel处理应用。"
2009-04-26 上传
2017-06-28 上传
2016-12-09 上传
2018-03-15 上传
2010-06-17 上传
AshuroLynx
- 粉丝: 0
- 资源: 3