私はグーグルで答えを探していましたが、解決策を見つけることができませんでした。数値形式を文書に適用して適用します。OpenXML SDKで適用された書式設定(セル値の書式設定)でセル値を取得する方法
私が必要とするのは、適用された書式設定(つまり、Excelで表示されるのと同じ文字列)のセル値を取得することです。
私は既にセルの既定値を返す簡単な方法や組み込み関数がないと考えました。
だから私には2つのことをする価値があると思われます。 1.フォーマット文字列を取得します。 2.この文字列を使用してセルの値を書式設定します。
しかし、私は両方のステップで問題があります。
一つの簡単NumberFormatIdが含まれますCellFormatインスタンスを取得することができます:
CellFormat cellFormat = (CellFormat) document.WorkbookPart.WorkbookStylesPart.Stylesheet.CellFormats.ElementAt(cell.StyleIndex);
しかし、どのようにidは、標準の定義済みの形式のいずれかに該当する場合は、このNumberFormatIdでフォーマット文字列を取得しますか? (つまり、160未満です)。スプレッドシート文書にはありません。アプリケーションでハードコードされるべきであるとは思えません。
また、フォーマット文字列が何らかの形で取得されたら、それをセル値にどのように適用するのですか?これまでのところ、コードはセルの値の型をチェックする必要があり、Numberの場合は、書式文字列を使用して文字列に変換してください。
私はthis pageが見つかりました。これはMicrosoft.Office.Excel.Interopを使用していますが、OpenXML SDKのみを使用することをお勧めします。
全体的に、これはWeb上でこの質問に対する決定的な答えを見つけることは非常に驚いています。これは、多くの開発者が毎日の作業に必要とするものだと思ったからです。
ここにいくつかの素晴らしいコードを検索:この情報を共有するためのhttp://joymonscode.blogspot.se/2013/10/reading-excel-cell-with-number.html –