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

fivehun 2006-10-27 10:40:44
我想用C#操作Excel表中的某一个Sheet,查过很多资料,只找到通过Sheet的索引来选择,如何通过sheet的名称来选择呢?
请指教,谢谢!
...全文
360 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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这种方式处理

111,092

社区成员

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

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

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