2016-04-24 100 views
2

EPPlus .NETライブラリ(v4.0.4)を使用して、保存されたExcelワークブックを解釈しています。そのようなワークシートの中には、Excelのアポストロフィを使用して「テキスト」形式に設定されている空のセルがいくつかあります(つまり、ユーザーがそのセルに単一のアポストロフィを入力したためExcelに空白が表示されます)。次の2個のそのような細胞のためのEPPlusは、Excelワークシート内の空白のセルと空のテキストセルを区別できますか?

サンプルXMLである:ここ

<c r="F6" s="1" t="inlineStr"> 
    <is> 
     <t /> 
    </is> 
    </c> 
    <c r="G6" s="1" /> 

、F6はアポストロフィを有する(すなわち、空のテキストセルである)とG6は純粋ブランクです。

EPPlusを使用してこの 'インラインストリング'(inlineStr)プロパティを読み取ることはできますか、そうでない場合はこれらの2つのセルを区別できますか? ExcelRange/ExcelRangeBaseクラスは、Value,FormulaStyleなどのプロパティを持っていますが、上記の2つのセルを表すオブジェクトを調べると、それらの間に違いはありません。

生のXMLを読んだり、代替のライブラリ(おそらくClosedXMLなど)を使って手動でこれを行うことができますが、可能な限りEPPlusを使用したいと思います。

答えて

2

EPPlusはnullの値を使用して空のセルを表し、空の文字列を含むセルの空の文字列を返します。

これは、読み取りと書き込みの両方に適用されます。

したがって、空の文字列をepplusを使用してセルに書き込むと、そのセルには空の文字列が含まれます(空白になりますが0になりません)。一方、epplusを使用してセルの値をnullに設定すると、 Excelで空白になります(空白になりますが、0に等しくなります)

読み取り操作にも同じことが適用されます。 'アポストロフィ・トリック'を使用していても、空のセルの値の空の参照を取得する場合は、セルの値から空の文字列を読み取ることができます。

+0

ありがとう@Stewart_R、私はそれを逃したかどうかはわかりません。 –

関連する問題