Zugriff auf die Zelle Werte in der Excel-Zeile, die mit OpenXML - Objektverweis nicht auf eine Instanz eines Objekts
Habe ich eine Anforderung zum Lesen von Werten aus einer excel-Tabelle und speichern Sie die Werte in die Datenbank. Problem, das ich scheinen zu haben, in dieser Zeit ist der Zugriff auf die einzelnen Werte in den Spalten in meiner Zeile Objekt
http://msdn.microsoft.com/en-us/library/office/documentformat.openxml.spreadsheet.cellvalue.aspx
var cellValues = from cell in row.Descendants<Cell>()
select (cell.DataType != null && cell.DataType.HasValue && cell.DataType == CellValues.SharedString
&& int.Parse(cell.CellValue.InnerText) < sharedString.ChildElements.Count
? sharedString.ChildElements[int.Parse(cell.CellValue.InnerText)].InnerText
: cell.CellValue.InnerText);
Leider ist der code oben nicht scheinen, um den job tun, so wirft er eine exception wenn die so laufen auf der Suche nach besten Ideen, wie man Zugriff auf die darin enthaltenen Werte in die Excel-Zeilen-Objekt mithilfe von OpenXML.
+$exception {"der Objektverweis wurde nicht auf eine Instanz eines Objekts."} System.Exception {System.NullReferenceException}
Resultierenden StackTrace
at MOC.Import.Products.<ProcessRows>b__0(Cell cell) in c:\Development\CFrontEnd\MOC.Import\Products.cs:line 37
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
at MOC.Import.Products.ProcessRows(IEnumerable`1 dataRows, SharedStringTable sharedString) in c:\Development\CFrontEnd\MOC.Import\Products.cs:line 45
Ich habe updates
InformationsquelleAutor Kobojunkie | 2012-09-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eines der Objekte, die Sie verweisen, ist null. Der einfachste Weg zu finden, das bestimmte Objekt, das die Ursache des Problems besteht darin, die Filterung und Formatierung von code aus der LINQ-Ausdruck und gerade Durchlaufen der Zellen:
Verwenden diese Struktur, es wird leicht zu erkennen sein, das problem in den debugger. Sie können auch entspannen dieser code noch mehr und noch mehr Wachen gegen null, um Ihren code robuster. Ihr problem in einer nussschale ist, dass Sie ungültige Annahmen über die Struktur des Dokuments, das Sie gerade Lesen. Als Allgemeine Regel Annahmen sind schlecht, vor allem, wenn Sie Annahmen über Eingang, über die Sie keine volle Kontrolle haben.
Diese Antwort helfen könnte: stackoverflow.com/questions/4923359/...
InformationsquelleAutor Paul Keister