0

在我的 asp.net 动态数据项目中,我想使用合适的 Microsoft 技术(不是 Excel)读取 excel 文件。有人说他们是用于此的服务器端工具?我想从表中读取前几列数据?

关于去哪里的任何建议或方向?

4

3 回答 3

2

回复您的评论,请看这里:

http://www.codeproject.com/Articles/37055/Working-with-MS-Excel-xls-xlsx-Using-MDAC-and-Oled

这是一些(未经测试的)代码可以帮助您入门。

string connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;
                          Data Source=c:\\testexcel.xls;
                          Extended Properties\"Excel 8.0;HDR=YES\"";
string cmdText = "SELECT * FROM [Sheet1$]";
using(conObj = new OleDbConnection(connectionstring))
{
   using (OleDbCommand cmd = new OleDbCommand(createTableScript, conObj)
   {
      OleDbDataAdapter adpt = new OleDbDataAdapter(cmd);
      DataSet ds = new DataSet();
      adpt.Fill(ds,"w1");
   }
}

祝你好运。

于 2013-01-14T17:08:07.753 回答
1

我建议您使用这个名为Excel Data Reader的 Codeplex 项目:

http://exceldatareader.codeplex.com/

希望能帮助到你!

于 2013-01-15T03:28:20.287 回答
0

您可以使用 OLEDB 对象,也可以使用 Interop 对象从 excel 文件中读取每个单元格并将其插入数据库中,请参见以下代码片段中的以下代码片段我使用了 OLEDB 并从 excel 中获取值

string objCON = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=EXcel_file_path;Extended Properties='Excel 8.0;HDR=Yes;'"
using(OleDbConnection objCon = new OleDbConnection(objCON))
{
    objCon.Open();
    OleDbCommand objCMD = new OleDbCommand("select * from [Sheet1$]", objCon) 
    using(OleDbDataReader objDR = objCMD.ExecuteReader())
    {
         while(objDR.Read())
         {
             messageBox.Show("value of row1 and column 0" + dr[0]);
         }
        if(objDR != null)
        {
    objDR.Close();
    objDR = null;
         }
    }
}
于 2013-10-22T12:41:51.163 回答