我正在寻找一种解析 excel 文件的方法,以便将一些数据导入我的数据库表中。在搜索时,我得到了这个答案Efficient method to enumerate methods in an Excel workbook using c#但未能使其正常工作。
这是我的代码:
private void ImportFromSheet(Worksheet worksheet)
{
Object[,] rangeData = (System.Object[,])worksheet.UsedRange.Cells.get_Value(Type.Missing);
if (rangeData != null)
{
int iRowMax = rangeData.GetUpperBound(0);
int iColMax = rangeData.GetUpperBound(1);
for (int iRow = 2; iRow < iRowMax; iRow++) // skipping headers
{
Import( rangeData, iRow );
}
}
}
如您所见,这直接取自我之前提到的答案。
在我的导入功能中,我有很多有趣的事情:
string var = Convert.ToString(rangeData[iRow, index]) ?? string.Empty;
因此,如果我在 Visual Studio 中检查 rangeData[iRow, index] 值,我会得到正确的数据,但在某些时候 Convert.ToString 无法为我提供一个分配给 var 的字符串(这似乎根本没有分配)。
此外,我尝试了这段代码:
for (int iCol = 1; iCol < iColMax; iCol++)
{
string key = Convert.ToString(rangeData[1, iCol]) ?? "empty";
string value = Convert.ToString(rangeData[2, iCol]) ?? "empty";
Response.Write(iCol + " -> " + key + " : " + value + "<br />");
}
它工作得很好。
所以,请你看看我错过了什么?
谢谢您的帮助 !