代码之家  ›  专栏  ›  技术社区  ›  chiccodoro

在独立应用程序中使用VSTO访问Excel工作表

  •  1
  • chiccodoro  · 技术社区  · 15 年前

    我试着研究这个,但有时我似乎缺乏一些谷歌技能。。。

    它使用自动化与 . 我已经知道如何使用互操作,但我认为 VSTO公司

    我的想法是:

    • 我可以用准备好的excel引用构建一个新的独立项目。
    • 我可以使用VSTO提供的更复杂的对象模型与Excel通信。

    • VSTO只能用于生成Excel的加载项/工作表, 不构建独立应用程序
    • 我在VSTO命名空间中找到了一个工作表和工作簿类,但据我所知,它们总是引用在定义Excel加载项或工作簿扩展时实现的工作表和工作簿的CS类。-它们不能在独立应用程序中用作舒适的包装器。

    有谁能证实这些说法或纠正我的错误吗?

    更进一步,如果有的话 应该 可以使用VSTO及其“工作簿”类从独立应用程序加载excel工作簿,然后 我要这么做吗?

    谢谢,

    2 回复  |  直到 15 年前
        1
  •  2
  •   Colin Pickard    15 年前

    VSTO用于开发Office附加组件,而不是单独的应用程序。

    Named and Optional Arguments ,这使得互操作变得更加愉快。

    例如,在.NET 3.5中,您可以这样写:

    Workbooks.Open(thisFileName,
            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)
    

    Workbooks.Open(thisFileName)
    

    我不相信您可以在外部应用程序中使用VSTO命名空间中的对象。

        2
  •  0
  •   chiccodoro    15 年前

    同时,我还了解了另一个使Office编程更舒适的工具集:the VSTO电动工具 . 尽管它们是由VSTO团队构建的,但也可以用于独立的应用程序。它们包含允许

    Workbooks.Open(thisFileName)
    

    • 这个 locale bug
    • 一旦COM对象的引用超出范围,就立即正确释放它们。