2016-04-22 25 views
0

我已經使用ExcelDataReader包從C#中的Excel中加載表,但我努力編寫一個方法,該方法返回一個單元格的值作爲一個字符串,基於行號和列名。C# - 從一個數據表返回一個單一的值(任何數據類型)作爲字符串

我有,如果有隻是DataTable中的字符串工作的方法解決...

public string ReadData(int rowNum, string columnName) 
{ 
    DataRow row = table.Rows[rowNum]; 
    string value = row.Field<string>(columnName); 
    return value; 
} 

(數據表變量「表」在別處加載) ..however我也想喜歡能夠返回數字和日期(作爲字符串)。

我覺得我可能需要編輯這部分不知何故...

string value = row.Field<string>(columnName); 

但我不知道如何使它所以它拉回到任何價值和類型是在這一領域,並返回一個字符串。

非常感謝!

回答

0

您可以簡單地使用按姓名索引器和呼叫ToString()

string value = row[columnName].ToString(); 

你或許應該檢查null值:

string value = (row[columnName] ?? string.Empty).ToString(); 
+0

感謝。最後相當簡單。 – Konzy262

0

你可以使用,DataRowname-indexer返回一個object上,我們可以稱之爲.ToString()將其轉換爲string

return row[columnname].ToString(); 
0

使用

string value = Convert.ToString(row[columnName]); 

使用Convert.ToString()是可取的,因爲它不僅檢查null,而且還檢查DBNull,這是訪問列中沒有內容的實際數據庫時列的值。

0

在C#6.0:

return row[columnName]?.ToString(); 
相關問題