如何从 Android 应用更新 excel sheet

How to update an excel sheet from Android App

我正在尝试建立一种简单的方法,用于从 Android 应用程序(位于安全的公司网络驱动器——但可以转移到安全的云中)。然后我希望向 "record" 或同一行 sheet 添加信息。

执行此操作需要 SQLite 数据库吗?或者我可以直接从现有的 excel sheet 中提取参考信息到应用程序中的 table/list 中,然后选择将信息添加到相对于的单元格中的相同 sheet selected 参考 info/record?

我浏览了论坛和网络,发现了很多关于 SQLite 的信息,但没有一个完全符合我的要求。

这样做的目的是能够在应用程序上找到并 select 一条记录,然后向该记录添加详细信息(包括照片)。因此,使用附加信息更新 excel sheet。

现有 sheet 在 PC 上填充了参考信息并保存到网络驱动器,稍后将通过上述 android 应用程序添加。

非常感谢任何帮助和指导。

目前有两种不同版本的 Excel Sheet 文件格式。

  1. 是老式的基于 OLE 的文件结尾:xls
  2. 是基于新样式XML的文件结尾:xlsx

它们都可以由 java 处理,也可以在 android 上处理。 在 Java 中使用办公文档的最佳实践是 Apache POI 项目,它可以处理两种办公格式。

她是 link 到 Apache POI 的 Excel: http://poi.apache.org/spreadsheet/index.html

你能做什么:

如果它是基于 OLE 的,那么您唯一的选择就是使用 POI。但是 POI 总是会将孔文件加载到 RAM 中,这在 Android RAM 较少的设备上可能是个问题。

如果是XML基础可以直接在xml中操作sheet上的数据。文件格式 xlsx 或任何以 "x" 结尾的 office 文档是一个 zip 文件,包括 XML 数据和大量元信息等。此类文件可以在临时文件夹中解压,您可以阅读xml 数据并对其进行操作。在此之后将临时文件夹压缩到一个 xlsx 文件中,就可以了。 或者你也可以使用 poi 来处理 xlsx 文件,但它也总是加载 hole 文件。 (我有 运行 使用 xml 技术在 excelsheet 中推送数千行的应用程序)

希望对您有所帮助。

P.S。我从未尝试在 Android 上使用 Apache POI,应该可以,但我不确定。在 google 上搜索示例。

这里有一些关于 XML 和 Zip 技术的 link:

  1. Android SDK 中的 ZipFile:http://developer.android.com/reference/java/util/zip/ZipFile.html
  2. 官方 XML Android 文档:http://developer.android.com/training/basics/network-ops/xml.html
  3. 关于 xml 使用库 XMLPullParser 进行解析的好教程:http://developer.android.com/training/basics/network-ops/xml.html
  4. Microsoft 的官方 XLSX 规范:https://msdn.microsoft.com/en-us/library/dd922181%28v=office.12%29.aspx
  5. 大 Sheets 直接操作 xml 数据的示例:https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java