使用axSpreadsheet控件设置源时出现转换错误

时间:2010-09-01 09:46:40

标签: c# excel casting oledb

我在C#中使用axSpreadsheet控件,但是当我设置源时出现错误。

  

错误:无法将“System.Data.DataTable”强制转换为“msdatasrc.DataSource”

我的代码:

  string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filename + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        DataSet ds = new DataSet();
        OleDbDataAdapter odda = new OleDbDataAdapter("select * from [电子订单$]", conn);
        odda.Fill(ds, "table");
        axSpreadsheet1.DataSource = ds.Tables[0];

然后我修改了代码:axSpreadsheet1.DataSource = ds.Tables[0];axSpreadsheet1.DataSource = (msdatasrc.DataSource)ds.Tables[0];,但仍然有错误。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

一个明显的解决方案是检查msdatasrc.DataSource是什么。创建它的新实例,然后逐行或使用其他工具将表行复制到它。