【问题标题】:Reading data from excel sheet in c#, loading data into a strings for each column in a row从c#中的excel表中读取数据,将数据加载到一行中每一列的字符串中
【发布时间】:2012-04-10 13:05:18
【问题描述】:

我正在从 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

我在一个字符串中获取所有数据,我想为每一行将数据存储在单独的字符串中。

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

谢谢。

【问题讨论】:

  • Response.Write(row[i].ToString()+"<br/>");?
  • 您的代码不完整。你从哪里得到的i var?
  • 你真正想要达到什么目的? DataTable 已经将所有字段存储在单独的变量中,为什么需要在任何类型的集合中创建副本?
  • ArrayList abcd 的意义何在?

标签: c# c#-4.0 datatable


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-11-13
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多