使用这里的示例如何在工作簿内复制工作表,我已经成功地克隆/复制了我的Excel文件中的表格,但是当我打开Excel时,第二个表格是活动(可见)表格。我还没有找到可以做到这一点的属性......是否有任何方法指定哪个表格是活动的?
我尝试通过打开和编辑文件中的第一个表格来强制执行它,认为最后编辑的表格是活动的,但那也不起作用。
任何帮助都将是非常好的。TIA
更新:当将.xlsx重命名为.zip并查看创建的workbook.xml时,我发现了“activeTab”属性。对我的代码进行了快速更改,似乎工作得很好。
public void SetFirstSheetInFocus(String xlsxFile)
{
using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Open(xlsxFile, true))
{
//Get a reference to access the main Workbook part, which contains all references
WorkbookPart _workbookPart = spreadSheet.WorkbookPart;
if (_workbookPart != null)
{
WorkbookView _workbookView = spreadSheet.WorkbookPart.Workbook.BookViews.ChildElements.First<WorkbookView>();
if (_workbookView != null)
{
_workbookView.ActiveTab = 0; // 0 for first or whatever tab you want to use
}
// Save the workbook.
_workbookPart.Workbook.Save();
}
}
}