2009-05-27 4 views
2

OpenXML Sdk v2 ctpを使用して、サーバー側のExcel出力を行っています。誰でもここにこのmp3を使った経験がありますか?スプレッドシート内のデータに小計を追加する

SDKを使ってスプレッドシートのデータに小計を追加する方法はありますか?またはOutlineLevelプロパティを追加するデータを手動で繰り返し処理する必要がありますか?私は、マルチレベルのグループ化と並べ替えを行う必要があるとして、そこにそれを手動で行う必要がある場合

rows.Add(new Row(cells.ToArray()) { 
    RowIndex = (UInt32Value)Convert.ToUInt32(idx), 
    Spans = new ListValue<StringValue>() { InnerText = "1:2" }, 
    OutlineLevel = (ByteValue)groupLevelCount 
}); 

これは本当のPITAになり

答えて

3

あなたはDocumentReflectorは、SDKに含まれる文書を使用しようとしたことがありますか? DocumentReflectorツールは、OpenXMLドキュメントを読み込み、そのドキュメントをSDKで生成するコードをリバースエンジニアリングすることができます。つまり、xlsxファイルからC#コードを生成します。

DocumentReflectorツールは、Open XML形式SDK 2.0インストールフォルダのToolsフォルダにあります。

あなたの問題を解決するのに役立つかもしれません。

+0

を参照してください - しかし、私はIList から変換しています。リフレクタツールでは、ワークシートに行を追加するためにリフレクタツールを使用しています - コレクションを繰り返し処理する必要があり、ワークシートに適用できる機能があることを期待していましたデータが追加された後、私の小計が作成されました。 これを行うために私が見ることができる唯一の方法は、データが追加されるとデータを繰り返し処理することです。グループ化とsumarisingを実行します。これは完全なPITAです。 –

1

短い答えはノーです。 OpenXML SDKは、XLSXファイルへのフルアクセスを提供します。ブック内の要素を追加、削除、または変更することができます。しかしそれはすべてです - 要素への低レベルのアクセス。それはどんな種類の処理機能も持っていません。

0

ワークブックでセル範囲をカバーするマクロまたは式を使用している場合は、スプレッドシートを開いたときに実行するように設定することができます

それは限りませんOpenXmlSdk: make Excel Recalculate formula.

spreadSheet.WorkbookPart.Workbook.CalculationProperties.ForceFullCalculation = true; 
spreadSheet.WorkbookPart.Workbook.CalculationProperties.FullCalculationOnLoad = true; 
関連する問題