C# 读取excel数据变量不对
stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\Users\\terry\\Desktop\\...
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\Users\\terry\\Desktop\\csharp.xls;Extended Properties=Excel 8.0";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[Sheet1$]");
myConn.Close();
Console.WriteLine(myDataSet);
输出 不对啊 应该是各种数据啊??、还是 没独到?? 展开
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$] ";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[Sheet1$]");
myConn.Close();
Console.WriteLine(myDataSet);
输出 不对啊 应该是各种数据啊??、还是 没独到?? 展开
1个回答
展开全部
myDataSet是一个数据集,可以说是一个以表格形式存在的对象,不能直接输出,可以使用循环输出:
for(int i=0;i<myDataSet.Tables[0].Rows.Count;i++)
{
Console.Write("第"+i.ToString()+"行:\t");
for(int j=0;j<myDataSet.Tables[0].Columns.Count;i++)
{
Console.Write(myDataSet.Tables[0].Rows[i][j].ToString());
}
Console.WriteLine(""); //换行。
}
有疑问可以追问哦~~
for(int i=0;i<myDataSet.Tables[0].Rows.Count;i++)
{
Console.Write("第"+i.ToString()+"行:\t");
for(int j=0;j<myDataSet.Tables[0].Columns.Count;i++)
{
Console.Write(myDataSet.Tables[0].Rows[i][j].ToString());
}
Console.WriteLine(""); //换行。
}
有疑问可以追问哦~~
追问
{ //创建一个数据链接
嗯谢谢 你帮我实现了遍历 但是 我的目的是 最好能得到 数组 把excel表的的数据 每行每列 不动的存进 数组 我好传递给matlab 作为矩阵····· 谢谢了
追答
string[][] str=new string[myDataSet.Tables[0].Rows.Count][];
for(int i=0;i<myDataSet.Tables[0].Rows.Count;i++)
{
str[i]=new string[myDataSet.Tables[0].Columns.Count];
for(int j=0;j<myDataSet.Tables[0].Columns.Count;i++)
{
str[i][j]=myDataSet.Tables[0].Rows[i][j].ToString();
}
}
//str就是你要的二维数组。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询