Monodroid - Excel文件

时间:2013-02-27 18:12:29

标签: android excel mono

我想使用Mono for Android从Android应用程序创建小型Excel工作表。 我尝试使用EPPlus和ExcelLibrary .NET库,但是我在构建项目时遇到了问题:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2,2): Error: Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile?

是否有通过Mono for Android操作Excel文件的方法或其他方法?

感谢。

1 个答案:

答案 0 :(得分:1)

看起来您正在尝试将预先构建的.NET 4.0程序集引用到您的Mono for Android项目中。你不能可靠地做到这一点(有时候,如果你运气好的话,它会起作用)。 MonoTouch和Mono for Android没有System.Drawing程序集,因此您无法使用链接到它的库。

您需要做的是为EPPlus或ExcelLibrary库创建一个新项目,并使用Mono for Android Library Project类型。您可能还需要对项目进行一些修改,使其不使用Mono for Android所没有的System.Drawing部分(它有一些像System.Drawing.RectangleF和SizeF那样的零碎的部分) ,但缺少大部分内容。)

我打算使用npoi项目(它的许可证比EPPlus更令人愉快)为MonoTouch做这个,但是忙于其他事情。

我有一个npoi的分支,我正在努力清理API:https://github.com/jstedfast/npoi/tree/enumification

一旦我完成并将其合并到上游,我的计划是创建一个新的分支,我将致力于将库移植到MonoTouch和Mono4Android使用的.NET子集。我可能会把它称为“移动”或其他东西。

与此同时,快速和简单的解决方法是创建一个新的Mono for Android Library项目,以与npoi相同的方式将所有源文件添加到其中,然后尝试构建。它会失败,但错误会给你一个很好的起点,可以找出图书馆的哪些部分无情地撕掉。继续这样做直到它编译。<​​/ p>

如果您使用我上面链接的任何一个npoi存储库,我已经做了一些工作来制作font.metrics和一些其他资源文件,我无法想到为MonoTouch / Android正确构建,所以与使用像1.2.5这样的版本相比,可以做的工作少一些。