Mel*_*sus 23 .net c# excel interop
我正在尝试使用interop Excel类(对于excel 2003)从.Net c#3.5应用程序中删除excel文档中的工作表.
我尝试过很多东西:
Worksheet worksheet = (Worksheet)workbook.Worksheets[1];
worksheet.Delete();
Run Code Online (Sandbox Code Playgroud)
它不起作用,不会抛出任何错误......
Mel*_*sus 62
经过一个多小时的观察,我找到了答案:
xlApp.DisplayAlerts = false;
worksheet.Delete();
xlApp.DisplayAlerts = true;
Run Code Online (Sandbox Code Playgroud)
its*_*sho 10
处理删除Excel工作表时,有两件重要的事情要知道:
Excel互操作从1开始计数(而不是从零开始),因此,删除第二项将导致第三项取代它!所以,删除工作表的正确方法是从最后到第一个:
// Remove LAST worksheet
MyWorkBook.Worksheets[3].Delete();
// and only then remove the second (which is the last one)
MyWorkBook.Worksheets[2].Delete();
Run Code Online (Sandbox Code Playgroud)
或者,你可以删除列表中的第二项([2])两次,这将给你相同的结果.
下面一行会抛出异常,当你只得到了一个工作表左:
MyWorkBook.Worksheets[1].Delete();
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
41375 次 |
最近记录: |