从c#中的excel表读取数据,将数据加载到一行中每列的字符串中

时间:2012-04-10 13:05:19

标签: c# c#-4.0 datatable

我正在从excel表中读取数据。我的桌子看起来像这样。

        AAAA            bbbbb              cccc
        1                2                  3
        4                5                  6
        --------------------------------------



        --------------------------------------

       data           data                  data

我想遍历每一行,并将每个单元格中的每个值保存在一个单独的字符串中。

按照我的表格,

我想存储,

    string column1= 1;
    string cloumn2=2;
    string clomnn3= 3;

我想对所有行重复此操作。我的excel只有三列。

我试过这段代码

        //Reading Excel file
        string datafilename = @"D:\Book2.xls";
        string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + datafilename + ";" + "Extended Properties=Excel 12.0;"; 
        OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn);
        //fetching excel data into DataTable 
        System.Data.DataTable _dtDataFile = new System.Data.DataTable();
        ArrayList abcd = new ArrayList();
        myCommand.Fill(_dtDataFile);

        foreach (DataRow row in _dtDataFile.Rows)
        {
            Response.Write(row[i]);

        } 

我得到的输出是

    12346............datadatadata

我将所有数据都放在一个字符串中,我希望将数据存储在每行的单独字符串中。

任何人都可以建议,如何做到这一点。

谢谢。

1 个答案:

答案 0 :(得分:0)

您将所有数据都放在一个字符串中,因为您将所有数据直接写入响应流。您需要添加标记为Arion建议,或者实际将这些值添加到某些数据结构中。另外,您是否考虑过使用Excel Object Library?它可能更清晰一点,你可以直接迭代文件的原生结构。