如何使用c#.net在Excel中获取选定的工作表名称

时间:2011-11-10 14:40:48

标签: c# excel-2010

朋友们,        我是初学者使用Excel。我需要弄清楚如何从Excel中的工作簿中找到所选的工作表名称。

非常感谢。

德瓦拉杰

4 个答案:

答案 0 :(得分:0)

这有点旧。在2004年,但我使用它,它帮助了我。我的理解是你想要在你的c#app中调用某个excel表吗?无论如何,检查这个网站,如果那就是你做的事情会有所帮助。

C# - Retrieve Excel Workbook Sheet Names.

答案 1 :(得分:0)

您可以使用此解决方案......

从这里开始...... using excel oledb to get sheet names in sheet order

  private Dictionary<int,string> GetExcelSheetNames(string fileName)
    {
     Excel.Application _excel = null;
     Excel.Workbook _workBook = null;
     Dictionary<int,string> excelSheets = new Dictionary<int,string>();
     try
     {
      object missing = Type.Missing;
      object readOnly = true;

  Excel.XlFileFormat.xlWorkbookNormal
  _excel = new Excel.ApplicationClass();
  _excel.Visible = false;
  _workBook = _excel.Workbooks.Open(fileName, 0, readOnly, 5, missing,
     missing, true, Excel.XlPlatform.xlWindows, "\\t", false, false, 0, true, true, missing);
  if (_workBook != null)
  {

                   int index = 0; 

   foreach (Excel.Worksheet sheet in _workBook.Sheets)
   {
    // Can get sheet names in order they are in workbook
    excelSheets.Add(++index, sheet.Name);
   }
  }
 }
 catch (Exception e)
 {
  return null;
 }
 finally
 {
  if (_excel != null)
  {

   if (_workBook != null)
   {
    _workBook.Close(false, Type.Missing, Type.Missing);
   }
   _excel.Application.Quit();
  }
  _excel = null;
  _workBook = null;
 }
 return excelSheets;
}

答案 2 :(得分:0)

这是一个更新的答案:

Excel.Worksheet activeWorksheet =((Excel.Worksheet)Application.ActiveSheet); string activeWorksheetName = activeWorksheet.Name;

HTH

答案 3 :(得分:0)

Application xlsxApp;
string sheetname = (xlsxApp.ActiveSheet).Name;