如何通过OleDB读取Excell的合并

free_wind 2008-05-28 03:03:34
代码如下:String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sName + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1\"";
OleDbConnection objConn = new OleDbConnection(sConnectionString);

objConn.Open();

OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);

DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;

da.Fill(ds);


string s = ds.Tables[0].Rows[10,2].ToString();
objConn.Close();

问题:因为8-12行的第二列是合并的。现在我要读10行第二列的数据,怎么读?
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
IceCoffee503 2008-05-30
  • 打赏
  • 举报
回复
string filename="d:\\book.xls";
OleDbConnection odcn = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=" + filename+ ";Extended Properties=Excel 8.0;");
odcn.Open();
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet2$]", odcn);
DataSet ds = new DataSet();
odda.Fill(ds, "Excel");
DataTable dt = ds.Tables["Excel"];
dataGridView1.DataSource = dt;

这是拿dataGridView显示的,你看一下就会明白的。
如果A、B两列合并,A列有值,B列的值为空值。
free_wind 2008-05-30
  • 打赏
  • 举报
回复
伤心呀。难道没办法读吗?
free_wind 2008-05-29
  • 打赏
  • 举报
回复
ddddd
free_wind 2008-05-28
  • 打赏
  • 举报
回复
baihe_591 :说的对。因为这句我是要发布时临时加上去的,所以没注意了。

就是因为我这样读出来时,发现是空的。所以,现在就是要找到方法,读出在EXCEL上显示的值。
yagebu1983 2008-05-28
  • 打赏
  • 举报
回复
关注!!
baihe_591 2008-05-28
  • 打赏
  • 举报
回复
应该是string s = ds.Tables[0].Rows[10][2].ToString();
合并了,那第十行第二列就是空的啊.
baihe_591 2008-05-28
  • 打赏
  • 举报
回复
首先指出一个错误.
string s = ds.Tables[0].Rows[10,2].ToString();
free_wind 2008-05-28
  • 打赏
  • 举报
回复
自己顶一下

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧