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

如何使用apache poi将数据写入现有excel

梁宪
2023-03-14

我的excel工作表包含5行2列。我想在excel中再添加一列。但当我使用WorkbookFactory时,它显示错误。我导入了poi-3.8。jar和poi-ooxml-3.5-beta5。罐子它在线程“main”java中给出了错误异常。错误:未解决的编译问题:无法解决WorkbookFactory。请帮我做什么。

共有3个答案

李俊雅
2023-03-14

你在用Maven吗?

如果是,请参阅以下链接中的最后一条评论:

http://apache-poi.1045710.n5.nabble.com/Where-is-WorkbookFactory-td2307412.html

左康安
2023-03-14

有关详细信息,请参阅Apache POI组件和依赖项页面。您缺少一些jar,因此出现编译错误。

如果您想同时使用HSSF(. xls)和XSSF(. xlsx),我猜您在谈论WorkbookFactory时会这样做,您需要包含主POI jar和POI-OOXML jar,以及它们的所有依赖项。使用类路径上的这些jar,您将被排序

此外,您可能想考虑使用Apache Maven或Apache Ivy之类的工具来为您处理依赖关系,这样可以避免出现这样的jar问题

长孙正卿
2023-03-14
try this


import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;

import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelExample {

    public static void main(String[] args) throws IOException {

        try {

            FileInputStream file = new FileInputStream(new File("C:\\test.xls"));

            HSSFWorkbook workbook = new HSSFWorkbook(file);
            HSSFSheet sheet = workbook.getSheetAt(0);
            Cell cell = null;

            //Update the value of cell
            cell = sheet.getRow(1).getCell(2);
            cell.setCellValue(cell.getNumericCellValue() * 2);
            cell = sheet.getRow(2).getCell(2);
            cell.setCellValue(cell.getNumericCellValue() * 2);
            Row row = sheet.getRow(0);
            row.createCell(3).setCellValue("Value 2");

            file.close();

            FileOutputStream outFile =new FileOutputStream(new File("C:\\update.xls"));
            workbook.write(outFile);
            outFile.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
 类似资料:
  • 我已经编写了用于编写xlsm(Excel2007)的java文件。 使用ApachePOI库,编写xlsx文件是成功的。编写xlsm文件是成功的。但我无法打开xlsm文件,因为打开xlsm文件时出错。 使用ApachePOI库编写xlsm文件可行吗? 如果可以编写xlsm,请提供如何使用ApachePOI库编写xlsm文件的指南。 谢谢

  • 问题内容: 是否可以使用PHP fwrite()将内容附加到.xls文件? 当我使用fwrite()尝试此操作时,生成的文件在Excel 2007中导致错误消息。 我可以使用特定的分隔符来完成此操作吗? 没有第三方库,有可能吗? 问题答案: 您可以使用PhpSpreadsheet库读取现有的Excel文件,向其中添加新的行/列,然后将其写回为真实的Excel文件。 免责声明:我是该库的作者之一。

  • 问题内容: 我正在制作一个混合移动应用程序,我需要存储一些数据,例如,如果它是一个游戏:高分等..到目前为止,它能够使用jquery从JSON文件中读取数据..,但是是否可以写到JSON文件??! 还是有其他方法可以这样做? IDE-Eclipse(插件-IBM Worklight Studio) 只能使用HTML 5以及JS和JQ! 谢谢 (: 问题答案: 您可以将JSON写入本地存储,而只需使

  • 问题内容: 例如,我有一个具有以下内容的文件: 将另一个对象推入此数组以使文件看起来像的JavaScript代码是什么 我要问的原因是我在网上找到了很多有关如何使用AJAX从.json文件中提取数据的信息,但没有使用AJAX将新数据写入.json文件以用其他数据更新.json文件。 任何帮助,将不胜感激! 问题答案: 您必须清楚“ JSON”的含义。 某些人错误地使用术语JSON来指代简单的旧Ja

  • 我正在尝试将以下数据写入csv文件。这些数据是employdetails name1-surname1-place1 名称4-surname4-place4 我希望输出在CSV文件上,一个在另一个下面,在单独的行上。 我写了下面的代码 -KD

  • 我正在使用下面的代码片段来保存数据。它只会在同一分区文件夹下创建一个新的拼花地板文件。是否有任何方法可以将数据真正附加到现有的拼花地板文件中。所以,如果一天中有许多附件,我们就不会有多个文件? <代码>测向。聚结(1)。写模式(“追加”)。partitionBy(“paritionKey”)。拼花地板(“…\parquet\u file\u folder\”) 非常感谢你的帮助。