请问C#如何得到Excel表的Sheet名称?(急)

fivehun 2006-10-27 10:40:44
我想用C#操作Excel表中的某一个Sheet,查过很多资料,只找到通过Sheet的索引来选择,如何通过sheet的名称来选择呢?
请指教,谢谢!
...全文
333 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pinglan 2006-10-27
  • 打赏
  • 举报
回复
try
{

openFileDialog1.ShowDialog();

oledbconn1.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source="+openFileDialog1.FileName+";Extended Properties=Excel 8.0;Persist Security Info=False";

oledbconn1.Open();

DataTable dt = oledbconn1.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});

foreach (DataRow dr in dt.Rows)
{

comboBox1.Items.Add((String)dr["TABLE_NAME"]);
}



//MessageBox.Show("打开成功!","提示!",MessageBoxButtons.OK,MessageBoxIcon.Information );

}

catch(Exception) //catch(Exception ex)
{

MessageBox.Show("Excel文件不能被打开!" ,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error );

}



textBox1.Text=openFileDialog1.FileName;
可以看看我的代码,把当前打开的EXCEL文件中所有的表都填写到comboBox控件的下拉列表中!不知对你是否有用!
================================
这也是别人的做法,发过来你看,我也是这么用的,有效!
livode 2006-10-27
  • 打赏
  • 举报
回复
sheets["名字"]
liujia_0421 2006-10-27
  • 打赏
  • 举报
回复
学习,收藏......
fivehun 2006-10-27
  • 打赏
  • 举报
回复
问题已经基本解决了
for(int i=0; i<appObj.Worksheets.Count; i++)
{
sheetObj = (Excel.Worksheet)appObj.Worksheets.get_Item(i+1);
if (sheetObj.Name == szSheetName)
{
hasSheet = true;
break;
}
}
通过遍历是可以得到的。
fivehun 2006-10-27
  • 打赏
  • 举报
回复
谢谢,但我不想用Microsoft.Jet.OLEDB.4.0这种方式处理
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-27 10:40
社区公告

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