我在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];
,但仍然有错误。
我该怎么办?
答案 0 :(得分:1)
一个明显的解决方案是检查msdatasrc.DataSource
是什么。创建它的新实例,然后逐行或使用其他工具将表行复制到它。