在我的項目中,我使用互操作連接(4.5之前的.NET WPF應用程序)將2列轉換爲易於使用List的。這裏的問題在於我正在閱讀的兩列中有一列有很多空值;大多數是空值;並且選擇過程決定跳過它們而不是填充一個空值,所以現在我剩下2個不等於X excel表單的2個不平坦列(X在這裏大約是1500,所以這個方法相當省時) ;從System.Array轉換爲列表<string>使用LINQ,需要保留空值
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(pathName, 0, true, 5,"", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
Excel.Range range = xlWorkSheet.UsedRange;
range = xlWorkSheet.UsedRange.Columns[1];
System.Array myvals = (System.Array)range.Cells.Value;
xmlData.AddRange(myvals.OfType<object>().Select(O => O.ToString()).ToList());
range = xlWorkSheet.UsedRange.Columns[2];
myvals = (System.Array)range.Cells.Value;
xmlCode.AddRange(myvals.OfType<object>().Select(P => P.ToString()).ToList());
有關如何在xmlData中保留空值的任何信息| xmlCode列表將不勝感激。就我自己而言,它與選擇過程有關。所有值都存在於該範圍的System.Array類型轉換中。
謝謝!
你沒有得到任何的異常,而在'LINQ()轉換'null'值'的ToString。 –
@RajeevKumar他正在使用'OfType
@LewsTherin我認爲這是事實;沒有找到替代壽..你有什麼建議嗎?謝謝。 – NoxBene