1

OpenXML SDK 2.0 を使用して、OpenXML のテンプレートを介して一部のデータを Excel にエクスポートしています。すべてを Excel に正常にエクスポートできます。ただし、テンプレートには複数のシート (実際にはすべて) があり、列には背景色 (スタイル) が適用されていますが、セルには適用されていないため、Excel にはそのセルへの実際の参照がまだありません。

これらのシートのデータをデータ行に入力し、値を適切に設定していますが、セルの書式設定を設定すると、デフォルトの白い背景に戻り、シートの残りの部分に適合しなくなります。

セルが入っている列のスタイルをセルに継承させるにはどうすればよいですか? 列を調べてそのスタイルを取得し、セルスタイルをそれに設定しようと考えましたが、参照によって列を見つける方法がわかりません。シート内のすべての列を繰り返すことはできますが、それらは参照を提供しません...

実際にセルを行に挿入するスニペットは次のとおりです。

    Cell newCell = new Cell() { CellReference = cellReference };
    if (refCell == null)
    { row.Append(newCell); }
    else
    { row.InsertBefore(newCell, refCell); }

refCell は以前のコードからのものであり、基本的には、セルが適切な順序でリストされていることを確認するためのものです.

次に、実際の値を設定する部分は次のとおりです。

     c.CellValue = new CellValue(indx.ToString());
     c.DataType = new EnumValue<CellValues>(CellValues.SharedString);

indx は、共有文字列テーブル内の文字列のインデックスです。

誰でも助けることができますか?

ありがとう

4

2 に答える 2

1

セル参照を介して列の名前を取得し、同じ列にあるすべてのセルを取得できます。列の最初のセルにスタイルがある場合は、StyleIndex を使用して現在のセルに適用できます。

セル参照に基づいて列名を取得する方法を説明するこのページを見ることができます: http://msdn.microsoft.com/en-us/library/office/cc822064.aspx

あなたが望むことをもっと直接的に行う方法があるかもしれませんが、私はそれを知りません。

于 2014-01-13T16:52:03.103 に答える