Java 如何计算从一个方法发送到另一个方法的总参数

Java 如何计算从一个方法发送到另一个方法的总参数,java,apache-poi,Java,Apache Poi,和roww=18,cell=20 editFile方法将仅编辑roww=18,cell=20 有人能帮我吗?提前谢谢你谢谢迈克尔·布彻对我的帮助。这是一个非常简单的错误。我应该使用相同的文件。我应该使用相同的excel文件进行输入,使用相同的excel文件进行输出 roww = 12, cell = 10 }我假设文件输入和输出的文件名“xxx”实际上是相同的,对吗?“完成更新”多久出现一次?@MichaelButscher我将这两个文件分开。创建新文件时,它将是一个单独的文件。原始文件仍然是

roww=18,cell=20

editFile方法将仅编辑
roww=18,cell=20


有人能帮我吗?提前谢谢你

谢谢迈克尔·布彻对我的帮助。这是一个非常简单的错误。我应该使用相同的文件。我应该使用相同的excel文件进行输入,使用相同的excel文件进行输出

roww = 12, cell = 10

}

我假设文件输入和输出的文件名
“xxx”
实际上是相同的,对吗?
“完成更新”
多久出现一次?@MichaelButscher我将这两个文件分开。创建新文件时,它将是一个单独的文件。原始文件仍然是相同的。当我运行程序时,如果我有2个错误的结果,我的控制台将根据错误的行和单元格输出2次“完成更新”。您获取一个输入文件,修改
roww=12,cell=10的数据,并将其写入输出文件。然后再次获取未修改的输入文件,修改
roww=18,cell=20
的数据,并用
roww=18,cell=20
的新修改覆盖相同的输出文件,直到以前的修改消失。@MichaelButscher哦,我的天,现在我明白了。先生,谢谢你帮助我。我应该用同一个文件对吗?问题解决了!谢谢你,先生,祝你今天愉快!使用相同的文件或从一开始就加载工作簿,然后转到编辑循环,然后在内存中更新工作簿而不是文件,然后最后将工作簿保存到新文件中。对于每个需要更改的单元格值,确实不应使用此
editFile
方法。对于每个单元格值,它打开文件,创建整个工作簿,获取工作表和行,创建单元格,更改值,然后将整个工作簿写入文件。你可能会发现这是多么的不好。相反,让工作簿成为一个类成员,该类在开始时创建一次,准备好后只编写一次。@AxelRichter您的意思是我创建一个新类,然后调用该类而不是将其作为方法?这样性能会更好吗?不,我不是这么说的。我说过,
xssf工作簿
应该是类成员,并且在开始时只创建一次,在所有数据放入时只编写一次。或者对于静态方法,它可以是一个参数
公共静态void editFile(XSSFWorkbook工作簿,int roww,int cell).
。在所有情况下,每次需要将数据放入其中一张工作表的某个单元格时,都不应从文件中新建和重新保存工作簿。
public static void editFile(int roww, int cell) {
    try {

        FileInputStream file = new FileInputStream(new File("xxx"));

        XSSFWorkbook workbook = new XSSFWorkbook(file);
        XSSFSheet sheet = workbook.getSheetAt(0);

        for (int ff = 0; ff < roww + 1; ff++) {
            XSSFRow row = sheet.getRow(roww);
            row.createCell(cell).setCellValue("FALSE");
        }
        file.close();

        FileOutputStream outFile = new FileOutputStream(
                new File("xxx2"));
        workbook.write(outFile);
        outFile.close();

        System.out.printf("DONE UPDATE");

    } catch (Exception e) {
        e.printStackTrace();
    }
}
roww = 12, cell = 10
public static void editFile(int roww, int cell) {
try {

    FileInputStream file = new FileInputStream(new File("samefile"));

    XSSFWorkbook workbook = new XSSFWorkbook(file);
    XSSFSheet sheet = workbook.getSheetAt(0);


        XSSFRow row = sheet.getRow(roww);
        row.createCell(cell).setCellValue("FALSE");

    file.close();

    FileOutputStream outFile = new FileOutputStream(
            new File("samefile"));
    workbook.write(outFile);
    outFile.close();

    System.out.printf("DONE UPDATE");

} catch (Exception e) {
    e.printStackTrace();
}