假设我声明了以下 Excel 互操作对象:
Dim ExcelToKeepHidden As New Microsoft.Office.Interop.Excel.Application
Dim SheetToCopy As Microsoft.Office.Interop.Excel.Workbook
...
Dim ExcelToShow As New Microsoft.Office.Interop.Excel.Application
基本上,我在后台保留了一个隐藏的 Excel 实例(其中包含工作表SheetToCopy
- 我一直在做所有细节工作,远离用户的注意力),然后,我有一个按钮Show Excel Sheet,当用户单击它,应该将我的SheetToCopy
对象复制到ExcelToShow
应用程序中。
换句话说,原件SheetToCopy
保留在ExcelToKeepHidden
应用程序中以供进一步操作,但ExcelToShow
会在用户单击按钮时显示工作表的副本。
所以,我的挑战是我不能只使用该SheetToCopy.Copy()
方法,因为新工作表位于完全不同的 Excel 实例中。此外,由于我正在做的那种操作,我不能只复制一系列单元格,因为我已经对其应用了过滤器,因此该paste
功能不允许我保留格式等。
基本上,我看到的唯一解决方案是将工作表的副本复制到同一个 excel 应用程序中的新工作簿中,然后关闭它,然后在第二个 excel 应用程序中重新打开它,但我想知道是否有更好的方法来完成这个??
有什么想法吗??(VB 或 C# 代码都很好)
谢谢!!!!)