4

現在、closedXML を使用して Excel からデータを読み取るプロジェクトに取り組んでいますが、Excel セルに vlookup 式が含まれているため、コードにエラーが発生しています。closedxml が vlookup 式で行の値を読み取る方法はありますか? ありがとう!

これは、「構文エラー」エラーが発生する場所です。

if (rowValue.Cell(colnum).HasFormula)
{
    ((IDictionary<String, Object>)item)[field] = rowValue.Cell(colnum).Value.ToString();
}
4

4 に答える 4

1

ValueCachedが正しいテキストを提供していることがわかりました。(ClosedXML_v0.76.0.0)

IXLCell JobCell = row.Cells().Where(item => item.Address.ColumnLetter == "B").FirstOrDefault(); }
string Job = JobCell.RichText.Text;
if (string.IsNullOrEmpty(Job))
{
   Job = JobCell.ValueCached;
}
于 2018-12-19T03:31:10.397 に答える
0

Raidri が言及しているように、VLOOKUPS はクローズド XML ではサポートされていません。

クローズド xml での VLOOKUP サポートの更新については、closedxml コードベース フォーラムのこのディスカッションを参照してください。

https://closedxml.codeplex.com/discussions/569497

推奨される回避策は、テンプレート ファイルの VBA マクロを記述して before save イベントにフックし、特別な値を非表示のワークシートに貼り付けて、そこからアップロードすることです。それを行うためのスターターについては、これらのリンクを参照してください。

VBAでプログラム的に特別な値を貼り付ける -シートから数式を削除するが、計算され た値を保持する方法save-event.html

于 2015-12-01T11:16:17.223 に答える
0

VLOOKUPClosedXML は数式をサポートしていませんHLOOKUP。それらが必要な場合は、セルの範囲を読み取り、指定された値を持つ行または列を検索して、手動で実装する必要があります。

于 2015-08-07T11:16:06.977 に答える