0

2 つのワークシートを持つ Excel ワークブックを作成しています。両方のワークシートの列の合計を計算する必要がありますが、合計を計算して間違ったワークシートに入れています(最初のワークシートの合計を計算し、その合計を2番目のワークシートに入れ、2番目のワークシートの合計を最初のワークシートに入れるなど)

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();
}
4

1 に答える 1

0

デフォルトでは、JXLS はより高速な FastFormulaProcessor を使用しますが、場合によっては数式が壊れる可能性があります。問題が発生した場合は、StandardFormulaProcessor に切り替えてみてください ( http://jxls.sourceforge.net/reference/formulas.htmlおよびhttps://bitbucket.org/leonate/jxls/issues/44/multisheet-bug-in-を参照)。合計式任意):

        xlsArea.setFormulaProcessor(new StandardFormulaProcessor());
        xlsArea.processFormulas();
于 2016-03-08T14:32:57.330 に答える