Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 所选excel工作表的m_ObjectToDataMap为“null”_C#_.net Core_Ms Office_Interop - Fatal编程技术网

C# 所选excel工作表的m_ObjectToDataMap为“null”

C# 所选excel工作表的m_ObjectToDataMap为“null”,c#,.net-core,ms-office,interop,C#,.net Core,Ms Office,Interop,我正在尝试使用Microsoft office interop将excel工作表包含在word文档中 当我选择excel工作表时,我可以看到m_ObjectToDataMap为空 在本机调试中,我可以看到以下错误 "Native View = Unable to evaluate the expression. Operation not supported. Unknown error: 0x80070057". 因此,我无法从excel工作表中获取形状或图表对象 我需要你的帮助来纠正这个错

我正在尝试使用Microsoft office interop将excel工作表包含在word文档中

当我选择excel工作表时,我可以看到m_ObjectToDataMap为空

在本机调试中,我可以看到以下错误

"Native View = Unable to evaluate the expression. Operation not supported. Unknown error: 0x80070057".
因此,我无法从excel工作表中获取形状或图表对象

我需要你的帮助来纠正这个错误

这是我的密码

public void excelToWord(string wordPath, string excelPath)
    {
        Word._Application wApp = new Word.Application();
        Word.Documents wDocs = wApp.Documents;
        Word.Document wDoc = wDocs.Open(wordPath, ReadOnly: false);

        Excel.Application excel = new Excel.Application();
        Excel.Workbook wb = excel.Workbooks.Open(@excelPath);
        Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[4];


        ws.Shapes.Range[4].Item(1).Copy();

        Excel.ChartObjects chartObjects = (Excel.ChartObjects)ws.ChartObjects(Type.Missing);

        Excel.ChartObject myChart = (Excel.ChartObject)chartObjects.Item(1);
        myChart.Copy();


        wDoc.Range().PasteSpecial();

        wb.Close();
        excel.Quit();

    }

Microsoft目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在该环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁

如果您正在构建一个在服务器端上下文中运行的解决方案,那么您应该尝试使用安全的组件来无人值守地执行。或者,您应该尝试找到至少允许部分代码在客户端运行的替代方案。如果使用服务器端解决方案中的Office应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将面临整体解决方案稳定性方面的风险。在文章中阅读更多关于这方面的内容

作为可能的解决方案,如果只处理打开的XML文件,可以考虑使用OpenXMLSDK。有关更多信息,请参阅


还有专为服务器端执行而设计的第三方组件。

您在何时何地运行代码?它是windows/web服务吗?不,这是一个.Net核心API项目前端是一个Angular应用Angular应用Angular应用在web浏览器中运行,对吗?@EugeneAstafiev yes.:我还尝试使用OpenXMLSDK将excel工作表包含到word文档中。你能回答我提出的以下问题吗?谢谢到目前为止,我使用该文档开发了我的代码。但我被困在这里了。