2

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 />");
}

そして、それはうまくいきました。

どうか、私が見逃しているものを見ることができますか?

ご協力ありがとうございました !

4

0 に答える 0