【问题标题】:Load data from excel file从excel文件加载数据
【发布时间】:2010-01-06 03:58:02
【问题描述】:

我有一个结构如下的excel文件。 我想从这个文件中读取数据。有两种方法可以做到这一点: - 使用 OLEDB 加载到 DB。但在这种情况下,它似乎无法做到这一点。

       String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ExcelFileName + ";" + "Extended Properties=Excel 8.0;";

        OleDbConnection objConn = new OleDbConnection(sConnectionString);
        objConn.Open();
        OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
        OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
        objAdapter1.SelectCommand = objCmdSelect;

        DataSet objDataset1 = new DataSet();
        objAdapter1.Fill(objDataset1);
  • 使用 Excel 对象。在这种情况下,我怎么知道最后一个有数据的单元格?

alt text http://img31.imageshack.us/img31/6736/unstructureexcel.png

谢谢

【问题讨论】:

标签: c#


【解决方案1】:

oledb 的难点在于工作表有三个标题行。因此,您需要指定排除标题的范围。

    OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$A4:E65535]", objConn);

即使您指定了范围的最大行值,它也只会读取可用数据。

如果这对您有用,它将比 Excel 自动化更快、更容易。

【讨论】:

    【解决方案2】:

    看起来您只是使用它来将数据加载到数据库中(我假设是 SQL Server?)您应该考虑使用 SSIS(SQL Server 集成服务)来加载 excel 文件。

    here is a link to help you further

    【讨论】:

      猜你喜欢
      • 2020-12-20
      • 1970-01-01
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多