我目前正在开发一个电子表格阅读器,需要阅读ExcelFile中的第二个工作表。我只看了但找不到任何引用如何设置activeworksheet的地方。
目前我的活动工作表设置如下:
ExcelWorksheet worksheet = excelFile.Worksheets.ActiveWorksheet;
调试时,我注意到它正在读取两个中的第一个工作表,当我需要它来读取第二个文件时。
如何将活动工作表设置为索引1而不是索引0.
由于
更新:
我通过使用Linq进行查询来修复此问题,Linq通过ExcelFile工作表并设置工作表索引。示例代码如下:
ExcelWorksheet worksheet = excelFile.Worksheets.Where(x => x.Index = 1).SingleOrDefault();
答案 0 :(得分:1)
首先请注意,活动工作表是使用某些Excel应用程序(如MS Excel)打开文件时选择的工作表,请参阅ActiveWorksheet property's help page。
您可以将任何工作表设置为活动工作表,并且通常(默认情况下)它是工作簿中的第一个工作表,这就是您使用它访问第一个工作表的原因。但是,为了访问您想要的任何工作表,您可以通过索引器从Worksheets集合中检索它,如下所示:
ExcelWorksheet firstSheet = excelFile.Worksheets[0];
ExcelWorksheet secondSheet = excelFile.Worksheets[1];
或者使用工作表的名称,如下所示:
ExcelWorksheet firstSheet = excelFile.Worksheets["Sheet1"];
ExcelWorksheet secondSheet = excelFile.Worksheets["Sheet2"];