1

我正在尝试访问作为 OLE 对象的报告(嵌入到 Excel 工作表中)。

我正在尝试使用 Microsoft.Interop.Excel API 从 C# 控制台应用程序执行此操作。

我能够成功地遍历工作表中存在的 OLE 对象。但是,当我尝试访问 OLEObject 实例的Object属性时,我遇到了 COM 异常。

有没有人在成功之前尝试过这样做。请帮助我提供示例代码。

我为 POC 尝试的代码如下

static void Main(string[] args)
    {
        string fileName = string.Empty // some excel file path
        Application _excelApp = new Application();
        _excelApp.AutomationSecurity = MsoAutomationSecurity.msoAutomationSecurityForceDisable;

        Workbook workBook = _excelApp.Workbooks.Open(fileName,
     Type.Missing, Type.Missing, Type.Missing, Type.Missing,
     Type.Missing, Type.Missing, Type.Missing, Type.Missing,
     Type.Missing, Type.Missing, Type.Missing, Type.Missing,
     Type.Missing, Type.Missing);

        for (int i = 1; i <= workBook.Sheets.Count; i++)
        {
            var sheet = workBook.Sheets[i] as Worksheet;

            try
            { 
                OLEObject obj = sheet.OLEObjects("BReport") as OLEObject;
                Console.WriteLine(obj.Name);
                Console.WriteLine(obj.Object.ToString());                    
            }
            catch
            {                  
                continue;
            }
        }

提前致谢..

4

0 回答 0