2016-11-28 45 views
2

EPPLUSを使って簡単な式を書こうとしていますが、その周りに道を見つけることはできません。次のようにEPPLUSの公式の問題

式は次のようになります= C12-(SUM(D12:E12))

私は、様々な組み合わせを試してみましたが、私はこのような単純な式を定義することができますどのオプションすぎてわかりませんでした。

それは常に文句「 - 」文字列の文字列に適用することができないなど

任意のアイデア、このような式を作成する方法を

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "SUBTOTAL" + (worksheet.Cells[this.CurrRow, iStart_column - 1]) - ("SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn]); 
+0

http://pastebin.com/3GWZZi3Gこれは私の最後の試みです –

答えて

4

私はあなたがやろうとしているかを理解する場合は、生成されています動的に数式。この場合、文字列には-という数式を使用しているため、実際には行えないため、エラーが発生しています。

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "=SUBTOTAL("+ worksheet.Cells[this.CurrRow, iStart_column - 1].Address + "-(SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn].Address + ")))"; 

Cellオブジェクトの文字列表現を与えるAddressプロパティの使用に注意してください:私が何を行っているが、このようなものだと思います。

注:SUBTOTALの実装は実際には正しくありません。ファイルを開くときに、Excelがそれに不満を持ちます。これはEPPlusよりも優れた問題であるため、これを作業したり、詳細を投稿する必要があります。

+0

素晴らしいです。うん、テーブルはダイナミックです。ありがとう。どのオプションを使用すべきかはわかりませんが、もう一度やり直して報告します。 Cheer –

+0

これは変です。私は私のラインを更新し、アプリケーションを実行し、Excelを生成することができます。コマンドはOKと表示されますが、#VALUEになります!代わりにメッセージ。ただし、同じセルから数式をコピー&ペーストしてスプレッドシート内の別の場所に貼り付けると正しい結果が得られます。 http://pastebin.com/eySwexzS。何か案は? –

+0

これはうまくいくように見えました。 http://pastebin.com/HXeSg5tb –