当前位置:首页 > Java

java如何更新excel

2026-03-21 18:55:18Java

java如何更新excel

更新Excel文件的方法

在Java中更新Excel文件通常使用Apache POI库,它支持读写Microsoft Office格式文件。以下是几种常见操作:

java如何更新excel

添加依赖

Maven项目中需添加以下依赖:

<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>

修改单元格内容

FileInputStream file = new FileInputStream("existing.xlsx");
Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(0);

// 修改第一行第一列的值
Row row = sheet.getRow(0);
Cell cell = row.getCell(0);
cell.setCellValue("新值");

FileOutputStream out = new FileOutputStream("updated.xlsx");
workbook.write(out);
workbook.close();

添加新行

Sheet sheet = workbook.getSheetAt(0);
Row newRow = sheet.createRow(sheet.getLastRowNum() + 1);
newRow.createCell(0).setCellValue("A列数据");
newRow.createCell(1).setCellValue("B列数据");

使用模板更新

InputStream is = new FileInputStream("template.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(is);
XSSFSheet sheet = workbook.getSheetAt(0);

// 填充模板占位符
for (Row row : sheet) {
    for (Cell cell : row) {
        if (cell.getStringCellValue().equals("${placeholder}")) {
            cell.setCellValue("实际值");
        }
    }
}

批量更新数据

Map<String, String> data = new HashMap<>();
data.put("A1", "值1");
data.put("B2", "值2");

for (Entry<String, String> entry : data.entrySet()) {
    CellReference ref = new CellReference(entry.getKey());
    Row row = sheet.getRow(ref.getRow());
    Cell cell = row.getCell(ref.getCol());
    cell.setCellValue(entry.getValue());
}

注意事项

  • 处理大文件时考虑使用SXSSFWorkbook以优化内存
  • 操作完成后必须关闭Workbook和流对象
  • 对xls和xlsx格式需要使用不同的实现类(HSSF/XSSF)
  • 异常处理应包含IOException和InvalidFormatException

以上方法涵盖了从简单修改到批量更新的常见场景,可根据实际需求选择合适的方式。

标签: javaexcel
分享给朋友:

相关文章

如何使用java

如何使用java

安装Java开发环境 下载并安装Java Development Kit(JDK),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME指向JDK安装路径…

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何调用接口

java如何调用接口

调用接口的基本方法 在Java中调用接口通常涉及实现接口或使用接口引用对象。以下是几种常见场景的示例: 定义接口 public interface MyInterface { void d…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

java如何遍历map

java如何遍历map

遍历Map的几种方法 在Java中,遍历Map有多种方式,可以根据需求选择合适的方法。以下是常见的几种遍历方式: 使用entrySet遍历 通过entrySet()方法获取键值对的集合,可以同时访问…