Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在使用JXLS excel sum函数生成多页excel时工作不正常_Java_Excel_Jxls - Fatal编程技术网

Java 在使用JXLS excel sum函数生成多页excel时工作不正常

Java 在使用JXLS excel sum函数生成多页excel时工作不正常,java,excel,jxls,Java,Excel,Jxls,我正在创建一个Excel工作簿,其中有2个工作表;它必须计算两个工作表中某一列的总和,但将其放在错误的工作表上是在计算总和(如计算第一个工作表的总和并将其放在第二个工作表中,将第二个工作表的总和放在第一个工作表中) 默认情况下,JXLS使用FastFormulaProcessor,速度更快,但在某些情况下可能会导致公式损坏。如果遇到问题,请尝试切换到StandardFormulaProcessor(请参阅和): 如果没有模板和生成的报告,很难看到问题。如果您认为存在错误,最好在bitbucket

我正在创建一个Excel工作簿,其中有2个工作表;它必须计算两个工作表中某一列的总和,但将其放在错误的工作表上是在计算总和(如计算第一个工作表的总和并将其放在第二个工作表中,将第二个工作表的总和放在第一个工作表中)


默认情况下,JXLS使用FastFormulaProcessor,速度更快,但在某些情况下可能会导致公式损坏。如果遇到问题,请尝试切换到StandardFormulaProcessor(请参阅和):


如果没有模板和生成的报告,很难看到问题。如果您认为存在错误,最好在bitbucketi的jxls issue tracker中创建一个问题,不要认为这是一个错误问题,问题是当我给cell ref generator实现一个静态文件名时,它工作得很好类JxlsCellRefGenerator实现CellRefGenerator{public CellRef generateCellRef(int-index,Context-Context){return new CellRef(“Report”+(index)+“!A1”);}}私有类SimpleCellRefGenerator实现CellRefGenerator{public CellRef generateCellRef(int-index,Context-Context){return new CellRef(worksheetName.get(index)+“!A1”);}但如果工作表名称是字符串列表,则此代码不起作用
Transformer transformer =TransformerFactory.createTransformer(is, os);
    XlsArea xlsArea=new XlsArea("Report!A1:N12",transformer);
    XlsArea entityArea= new XlsArea("Report!A1:N11",transformer);
    EachCommand entityEachCommand=new EachCommand("entity","entities",entityArea,new SimpleCellRefGenerator());
    XlsArea reportDataArea=new XlsArea("Report!A10:N10",transformer);
    EachCommand reportDataEachCommand=new EachCommand("data","entity.reportDatas",reportDataArea);
    xlsArea.addCommand(new AreaRef("Report!A1:N11"),entityEachCommand);
    entityArea.addCommand(new AreaRef("Report!A10:N10"),reportDataEachCommand);
    Context context=new Context();
    context.putVar("entities",reportData);
    xlsArea.applyAt(new CellRef("Report!A1"),context);
    reportDataArea.processFormulas();
    transformer.write();
}
        xlsArea.setFormulaProcessor(new StandardFormulaProcessor());
        xlsArea.processFormulas();