我的代码打开了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);
答案 0 :(得分: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.