我正在与SL 5.0
合作,并意识到我需要与Excel library from Office
合作。应用程序用于许多可能安装或不安装Office的计算机。
我担心如何处理这种情况。在本地我引用了Interop library
进行测试,但是当我部署项目时,我可以想象它在每台计算机上都不起作用,对吧?
答案 0 :(得分:1)
SpreadsheetGear for Silverlight是一个与Excel兼容的Excel电子表格控件,可以读取,写入,显示,编辑,计算,制图,打印etc... Excel工作簿。
您可以查看适用于Silverlight示例的实时SpreadsheetGear here或下载免费评估以自行试用here。
免责声明:我拥有SpreadsheetGear LLC
答案 1 :(得分:1)
可以将Excel文件保存为XML,然后导入它们非常简单。 http://www.c-sharpcorner.com/uploadfile/mgold/importing-an-excel-file-into-a-silverlight-datagrid-in-xml-format/
OR
(仅限XLSX) http://www.silverlightshow.net/items/An-Excel-file-Viewer-in-Silverlight-4.aspx
答案 2 :(得分:0)
interop库只是一个调用Office COM对象的包装器,如果没有安装Office,用户将无法访问它们。因此,您的应用程序仅适用于已安装Office的计算机。
答案 3 :(得分:0)
ExcelLite是Silverlight应用程序的C#/ Silverlight库,可以在没有COM交互的情况下读取和写入MS Excel(Excel 97-2003)文件。您可以在客户端完全操作MS Excel文件,因为此库使用二进制Excel格式来读取和写入数据。
看起来它无需安装Excel即可运行,但它确实只能操作Excel 2003文件,因此如果您生成Excel 2007或更高版本的文件,这可能不适合您。< / p>
我与这个特定的图书馆无关。
周围可能还有很多其他类似的工作。您只需要进行一些搜索并验证他们是否完成了您希望他们完成的工作。
答案 4 :(得分:0)
如果您使用较新的格式,可能需要尝试http://excellite.codeplex.com/(如果您支持较旧的格式)或http://silverlightexcel.codeplex.com/。
你是对的,如果客户端不一定有excel com对象,你的互操作调用将失败。您很可能需要使用可以管理格式的客户端库(如前面提到的那样 - 还有第三方库可能会变得昂贵)。另一个后备是做csv或txt。
如果客户端计算机没有Excel ...用户体验会是什么样的?
答案 5 :(得分:0)
是的,它不起作用,你需要手动注册与excel相关的所有com dll。