从 2 个 .xls 文件打开工作簿时,工作簿在后台可见。这通常是不可取的,因为它看起来不太好,但它也会减慢程序的速度。
之前已经问过有关此的问题,但没有一个答案解决了问题。我从 .xls 文件中读取数据的方式如下;
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkbook1 = xlApp.Workbooks.Open(path1);
xlWorksheet1 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook1.Worksheets.get_Item(1);
xlWorkbook2 = xlApp.Workbooks.Open(path2);
xlWorksheet2 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook2.Worksheets.get_Item(1);
我尝试了以下方法来打开工作簿,同时防止它们变得可见;
1.
xlApp = new Microsoft.Office.Interop.Excel.Application() { Visible = false };
xlWorkbook1 = xlApp.Workbooks.Open(path1);
xlWorksheet1 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook1.Worksheets.get_Item(1);
xlWorkbook2 = xlApp.Workbooks.Open(path2);
xlWorksheet2 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook2.Worksheets.get_Item(1);
2.
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlApp.Visible = false;
xlApp.DisplayAlerts = false;
xlWorkbook1 = xlApp.Workbooks.Open(path1);
xlWorksheet1 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook1.Worksheets.get_Item(1);
xlWorkbook2 = xlApp.Workbooks.Open(path2);
xlWorksheet2 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook2.Worksheets.get_Item(1);
3.
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkbook1 = xlApp.Workbooks.Open(path1);
xlWorksheet1 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook1.Worksheets.get_Item(1);
xlWorkbook2 = xlApp.Workbooks.Open(path2);
xlWorksheet2 = (Microsoft.Office.Interop.Excel.Worksheet) xlWorkbook2.Worksheets.get_Item(1);
xlApp.Visible = false;
xlApp.DisplayAlerts = false;
方法 3 确实隐藏了工作簿,但它们首先被打开,因此不能解决问题。我还尝试以只读方式打开工作簿,但这似乎没有什么区别。我还需要能够写入工作簿,因此无法以只读方式打开它们。无论如何,它并没有解决问题,但我只是陈述它,因此不会建议将其作为解决方案。
有谁知道如何实现所需的行为?
注意:我使用的是 Windows 10。
显然,该文件处于共享模式,这使该文件显示出来。我已关闭共享模式,现在已修复。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句