我开始学习应用程序开发,试图在UWP(通用Windows平台(中实现一个打开Excel文件向用户显示数据的应用程序,因为我有一个想法需要这个功能。
然而,在WPF(Windows Presentation Foundation(教程中,当我试图通过代码打开Excel应用程序时,我遇到了一个异常,这可能是由于UWP集上的一些设备不支持Excel(?(。
我想知道是否有办法通过指定我的应用程序将仅部署到PC设备或平板电脑来解决这个问题。如果没有办法做到这一点,那么UWP现在创建处理Excel文件的程序是一个糟糕的选择吗?
我应该迁移到WPF,还是UWP中有其他解决方案?
谢谢你的帮助!
您不应该切换到WPF。您应该忘记interop,而使用Open XML SDK。
interop的缺点:
- 慢,因为它使用COM对象
- 仅适用于窗户
- 要求在电脑上安装excel
- 很大程度上取决于excel,如果excel应用程序失败,你就会遇到问题。这不再是优秀的问题,而是你自己的问题。您将不得不处理客户的问题,因为您的应用程序由于excel损坏而无法正常工作
OpenXML-sdk:的优点
- 速度快,因为它可以直接使用xlsx文件
- 适用于UWP,WPF,Winforms,Mono,.net Core,Xamarin Mac,Xamarin-android,Xamarin-ios
- 不需要安装Excel应用程序
- 有很好的反向工程工具(开放式XML SDK工具(,它允许将任何xlsx转换为C#
OpenXML-sdk文档可以在这里找到。
您可以使用支持UWP的EPPlus包Nuget包。它是UWP应用的超级Excel电子表格助手