我嘗試使用NPOI庫讀取excel文件。爲什麼我會在Excel中讀取數值作爲字符串
下面是代碼:
public void ReadDataFromXL()
{
try
{
for (int i = 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
for (int j = 0; j < row.Cells.Count(); j++)
{
var columnIndex = row.GetCell(j).ColumnIndex;
var cell = row.GetCell(j);
if (cell != null)
{
switch (cell.CellType)
{
case CellType.Numeric:
var val = cell.NumericCellValue; ;
break;
case CellType.String:
var str = cell.StringCellValue;
break;
}
}
}
}
}
catch (Exception)
{
throw;
}
}
這裏的.xlsx文件,我嘗試閱讀的內容:
正如你可以看到列X和列Y的數值列。 但是當我開始使用上面的代碼讀取這些列時,X和Y列中的一些數值已被代碼識別爲字符串值。
例如,在畫面中的細胞B4以上是數字類型,但是,上cell.CellType
它顯示String
和字符串的值是31.724732480727\n
。 '\ n'被附加到值。
任何想法爲什麼一些數值顯示爲string
和爲什麼'\ n'附加到值?
'\ n'是一個換行符,是從某處複製/粘貼的數字,還是手動輸入的? – dognotdog
如果您剛剛從excel中讀取數據,您可能需要使用OleDbConnection類。 –
@dognotdog它是從file.The文件序列化 – Michael