1

我的代码打开了 Excel 的第一张表。我的目标是打开组合框中选择的工作表。有没有人可以帮我找到解决方案:

我的代码:

 string currsheet = comboBox1.SelectedItem.ToString();
 Microsoft.Office.Interop.Excel.Application xap = new Microsoft.Office.Interop.Excel.Application();
 xap.Visible = true;
 Microsoft.Office.Interop.Excel.Workbook wk = xap.Workbooks.Open(path3,0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
 Microsoft.Office.Interop.Excel.Sheets excelsheet = wk.Worksheets;
 Microsoft.Office.Interop.Excel.Worksheet wsh = (Worksheet)excelsheet.get_Item(currsheet);
4

1 回答 1

2

按工作表名称

Microsoft.Office.Interop.Excel.Worksheet wsh = (Worksheet)excelsheet["SheetName"];

按索引(从 1 - 第一张纸开始)

Microsoft.Office.Interop.Excel.Worksheet wsh = (Worksheet)excelsheet[1];

只需在组合框中使用其中一个值。如果你想用可用的工作表填充你的组合框,你可以通过Worksheets

foreach (Worksheet Sh in excelsheet)
{
    Combobox.Items.Add(Sh.Name); 
}

然后,组合框选定的值将已经是工作表名称,您可以通过:

Microsoft.Office.Interop.Excel.Worksheet wsh = (Worksheet)excelsheet[Combobox.SelectedValue]; //I'm not sure if combobox value is got like this, but the excel part is ok.
于 2013-07-11T11:59:18.063 回答