c# – 在自定义应用程序中托管MS Office文档的更好选择?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在自定义应用程序中托管MS Office文档的更好选择?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1922字,纯文字阅读大概需要3分钟。
内容图文
我目前正在.NET(2.0)表单中托管IE浏览器控件,并使用它来加载Office文件,如Excel和Word:
_ieCtrl.Navigate("C:\\test.xls", False);
托管和加载工作很顺利,除非我导航到一个文件,我会看到一个对话框,询问我是要保存还是打开文件. (这是标准的IE文件下载行为.)我总是想打开它,我不希望对话框显示.
另一个问题是,当我关闭托管IE控件的窗口和Office文档时,文档不会关闭并在磁盘上保持打开状态.这意味着,由于共享冲突,后续尝试通过我的应用程序或本机办公室应用程序打开同一文件将失败.
有没有一种程序化的方法来避免这种对话并在之后清理资源?我要求一个程序化的答案,因为网络研究只产生了需要修改操作系统级设置的解决方案.
赏金注意:
我愿意接受这个问题的任何解决方案,这将使我能够:
>在我的应用程序中托管Excel电子表格
>工作相当透明(避免可用性问题,如上所述)
>避免必须进行任何可能影响其他应用程序的特定于操作系统的更改(尤其是暗示IE)
>零额外费用(请不要许可第三方库)代码项目和其他开源资源都可以
>除非开发/发现稳定版本,否则不要乱用DSO Framer ActiveX控件
解决方法:
您是否希望用户能够以Excel-ish方式使用Excel文件(即列,行,公式等),可能会将其保存回来?如果是这种情况,我无法看到如何在不依赖于COM Interop与Excel对象模型或通过集成第三方库来使用Excel工作表的情况下很好地解决此问题.我知道你说没有付费的解决方案,但是有一些功能丰富的第三方控件只是为了处理应用程序中的Excel文件.
我在SLaks的评论中注意到最终产品是“各种仪表板”.如果您打算设计自定义仪表板应用程序,是否考虑过解析Excel文件以提取数据,然后在应用程序中以逻辑方式呈现数据.这样就无需直接显示和使用Excel文件,同时仍允许您使用该文件中的数据.如果您尝试将数据提取到文件之外,以下是两种方法:
>您可以考虑使用Excel对象模型和COM互操作将Excel文件中的数据读入您的应用程序.当然,这包括对正在安装的Excel的依赖,但这是可能的. This article有一些很好的代码可以用这种方式开始阅读Excel文件.
>更好的方法可能是使用不依赖于本地系统上安装的Excel的库. This answer建议使用CodePlex上提供的Excel Data Reader library.
我知道这个答案的一面是你在“自定义应用程序中托管MS Office文档”的原始答案,但如果您真正感兴趣的是这些Excel文件中的数据,希望这个答案将证明是有帮助的.
内容总结
以上是互联网集市为您收集整理的c# – 在自定义应用程序中托管MS Office文档的更好选择?全部内容,希望文章能够帮你解决c# – 在自定义应用程序中托管MS Office文档的更好选择?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。