繁体   English   中英

C#:将受保护的工作表复制到另一个excel文件

[英]C#:Copy protected worksheet to another excel file

我试图将一个受保护的工作表粘贴到另一个excel文件,但我得到的错误就像

“索引无效。(HRESULT异常:0x8002000B(DISP_E_BADINDEX))”

C#代码:

try
{
    string startPath = System.IO.Path.GetDirectoryName(
        System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
    string filePath = System.IO.Path.Combine(startPath, strPath);

    wBook = xCel.Workbooks.Open(filePath);
    wSheet = (Excel.Worksheet)wBook.Worksheets.get_Item(1);
    wSheet.Copy(Type.Missing, Type.Missing);
    wSheet = (Excel.Worksheet)xlApp.Workbooks[0].ActiveSheet;
    //wSheet = (Excel.Worksheet)xlApp.Workbooks[1].Sheets[1];
}
finally
{
    if (wBook != null)
    {
        wBook.Close();
    }
    if (xlApp != null)
    {
        xlApp.Quit();
    }                
}

有人可以告诉我在这里做错了什么?

要么

请告诉我是否有更好的方法来做到这一点?

谢谢。

我会检查:

wSheet = (Excel.Worksheet)wBook.Worksheets.get_Item(1);

要么

wSheet = (Excel.Worksheet)xlApp.Workbooks[0].ActiveSheet;

您的错误似乎表明wBook或xlApp中没有值。 这就是索引无效的原因(而且工作簿或工作表都是空的。我认为)

如果它是受保护的工作表,它的受保护的事实不会阻止你复制吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM