当前位置: 首页 > 知识库问答 >
问题:

java - 如何用Java将一个Excel的文件的数据读取到另一个Excel中?

佟英武
2023-11-27

如何用Java将一个Excel的文件的数据读取到另一个Excel中?

我有两个excel文件,希望将A文件中的数据合并在B文件中。有没有推荐的方案

共有1个答案

董子平
2023-11-27

当然,可以使用 Java 和 Apache POI 库来读取一个 Excel 文件并将其内容写入另一个 Excel 文件。Apache POI 是一个流行的库,可以用于处理 Microsoft Office 格式的文件,包括 Excel。

以下是一个简单的示例,说明如何使用 Apache POI 读取一个 Excel 文件并将数据写入另一个 Excel 文件。

首先,确保在你的项目中添加了 Apache POI 依赖。如果你使用 Maven,可以在你的 pom.xml 文件中添加以下依赖:

<dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi</artifactId>    <version>5.0.0</version> <!-- 请检查是否有更新的版本 --></dependency><dependency>    <groupId>org.apache.poi</groupId>    <artifactId>poi-ooxml</artifactId>    <version>5.0.0</version> <!-- 请检查是否有更新的版本 --></dependency>

然后,你可以使用以下 Java 代码来读取一个 Excel 文件并将其内容写入另一个 Excel 文件:

import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Iterator;public class ExcelCopy {    public static void main(String[] args) throws IOException {        // 源文件路径和目标文件路径        String sourceFilePath = "path_to_source_file.xlsx";        String targetFilePath = "path_to_target_file.xlsx";        // 读取源文件        FileInputStream fileInputStream = new FileInputStream(new File(sourceFilePath));        Workbook workbook = new XSSFWorkbook(fileInputStream);        Sheet sheet = workbook.getSheetAt(0); // 读取第一个工作表        Iterator<Row> iterator = sheet.iterator();        // 创建目标文件并写入数据        Workbook newWorkbook = new XSSFWorkbook(); // 新建一个工作簿        Sheet newSheet = newWorkbook.createSheet("Sheet1"); // 创建新的工作表        int rowIndex = 0;        while (iterator.hasNext()) { // 遍历源文件的每一行            Row sourceRow = iterator.next();            Row targetRow = newSheet.createRow(rowIndex++); // 在目标文件中创建新的行            copyRow(sourceRow, targetRow); // 将数据从源行复制到目标行        }        fileInputStream.close(); // 关闭源文件流        // 将目标文件写入磁盘并关闭流        try (FileOutputStream fileOutputStream = new FileOutputStream(targetFilePath)) {            newWorkbook.write(fileOutputStream);        } finally {            newWorkbook.close(); // 关闭目标工作簿流        }    }}
 类似资料:
  • 目前,我只能阅读一个excel文档,并用我得到的代码编写相同的文档。现在我想读取多个excel文档并将数据写入其中。现在我得到了一个清晰的代码,这样做到一个文档,但这不是我想要的。我理解我目前得到的代码的结构,所以我更喜欢继续使用它。如何使用函数和函数来实现这一点? 这是我到目前为止所拥有的: 不是很好的编码...但它有效...

  • 该编码能够读取excel文件中的小数据...但不读取excel文件中的大数据文件....如何进一步修改代码?

  • 问题内容: 我已经搜索了stackoverflow,但是没有找到明确的答案。如何将数据从XLS文件的特定行和列读取到我的Android应用程序?如何读取XLS文件?我不想将其转换为CSV,因为在尝试将其转换时出现错误。 也许我可以使用此http://www.andykhan.com/jexcelapi/tutorial.html#reading,但我什至不知道如何将其导入到我的项目中。请帮忙。 问

  • Java 中如何按列读取 Excel 数据 我有一个excel文件,希望用java读取某个表单某列的值,以便做后续的操作。有推荐的方案吗?

  • 我想问一下,如何从excel文件中复制某些类似的数据行,并根据特定的列名保存到另一个excel文件中?我想根据第1列找到类似的单词,即“name”(输入文件中有3列,分别是name、number和number),然后将整行复制到另一个excel文件中。接下来,我还希望在缺少的行上添加'zzzz | 0 | 0',使行的数量相同。 最终,将有3个不同的excel文件。所有文件都有相同数量的行,在这种

  • 问题内容: 我想用3列N行从Java读写Excel文件,在每个单元格中打印一个字符串。谁能给我简单的代码片段吗?我是否需要使用任何外部库,或者Java是否内置支持? 我要执行以下操作: 问题答案: Apache POI可以为你做到这一点。特别是HSSF模块。该快速指南是最有用的。这是你想做什么的方法-专门创建一张纸并将其写出来。