复制Excel工作表时,HRESULT发生异常:0x800A03EC

问题描述 投票:1回答:1

我正在尝试将现有的Excel工作表复制到当前的Excel文件中。我正在使用此代码。

                            Workbook wkActive = Globals.ThisAddIn.Application.ActiveWorkbook;
                        Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.Open(IdsTemplatePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
                        Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.Sheets[1] as Microsoft.Office.Interop.Excel.Worksheet;
                        worksheet.Copy(Type.Missing, wkActive);
                        wkActive.Save();

但是在复制方法中出现错误

Exception from HRESULT: 0x800A03EC

我做错了什么,我应该怎么做才能完成任务

c# excel vsto
1个回答
0
投票

我有解决方案

Microsoft.Office.Interop.Excel.Workbook CurrentWk 
    = ((Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook);
if (Path.GetExtension(CurrentWk.Name) != ".xlsx")
{
    MessageBox.Show("Please save the document before complete this task", "warning");
}
else
{
    Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.Open(IdsTemplatePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
    Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
    totalSheet = workbook.Worksheets.Count;
    for (int sheetNum = 1; sheetNum <= totalSheet; sheetNum++)
    {
        worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[sheetNum];
        sheetname = worksheet.Name.Replace("\r", "").Replace("\a", "").Trim().ToLower();
        if (sheetname == "ids_template")
        {
            try
            {
                worksheet.Copy(CurrentWk.Sheets[1]);
                workbook.Close(SaveChanges, Type.Missing, Type.Missing);
            }
            catch { }
            ids_template_found = true;//here it is set true because template sheet is added above in current workbook.
            break;
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.