I'm looking for a way to parse an excel file in order to import some data into my DB table. While searching, I got this answer Efficient method to enumerate cells in an Excel workbook using c# but failed to get it working.
This is my code :
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 );
}
}
}
As you can see, this is directly taken from the answer I refered to before.
And in my Import function, I have a lot of these funny things :
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 />");
}
そして、それはうまくいきました。
どうか、私が見逃しているものを見ることができますか?
ご協力ありがとうございました !