私はOpenXML
説明できない奇妙な問題を学び、実行しています。フォーラムの誰かがそれを説明し、解決策を提供できるかもしれません。
次のようなコードを使用して、個々の Excel セルで情報を収集するコードをテストしてきました。
Cell theCell = wsPart.Worksheet.Descendants<Cell>().
Where(c => c.CellReference == "F4").FirstOrDefault();
if (theCell != null)
{
cellvalue = theCell.InnerText;
....
workbook
すべてのパーツやsheets
などを既に呼び出したと想定しても問題ありません。
このルーチンを呼び出すと、最近ExcelCell.InnerText
を開いていなくても呼び出すことができ、予期した値が返されます。
しかし、スプレッドシートをExcelで開き、変更を加えてからスプレッドシートを閉じると、Cell.InnerText
「29」や「33」などの奇妙な数値が返されます。
誰かが理由を知っていますか?または、OpenXML で Excel からセル値を取得するための別の方法がありますか?