有没有办法在我的计算机上拥有一个数据电子表格,并有一个能够从中提取信息的应用程序?我只需要一种方法让我的应用程序能够从存储在我计算机上的内容中获取信息。这比将所有内容存储在应用程序本身上更容易,尤其是当我需要更新信息时。哦,你能否解释一下如何做到这一点,或者请指点我一个教程。
3 回答
假设您将使用某种 Web 界面将电子表格数据从您的个人目录传输到应用程序,您可以使用 Perl 等脚本语言。
如果您使用 ftp 将 .xlsx 文件上传到您的网站目录,那么您可以编写一个使用Spreadsheet::XLSX的 Perl 脚本,该脚本可以从您的应用程序中运行。
从您的应用程序中,您可以使用:
uriString = "http://yourwebsite.com/cgi-bin/myScriptToGrabXlsxData.pl";
....
new SendTableRequest().execute(uriString);
....
URI uriResID = URI.create(uriString[0]);
HttpPost httpPostMethod = new HttpPost(uriResID);
....
response = httpClient.execute(httpPostMethod);
HttpEntity entity = response.getEntity();
if (entity != null){
InputStream inStream = entity.getContent();
result = convertStreamToString(inStream);
....
(Do stuff with your stringified data as you see fit)
我省略了很多步骤,但答案并不是很依赖于您选择的实现(Perl vs Python vs PHP vs ...)或返回数据的方式(字符串 vs JSON vs ...),数据流在你开始编码之前,这是最重要的部分。
我认为最简单的方法是,无需设置您自己的网络应用程序,将您的电子表格上传到 Google Docs,然后使用Google Docs API从您的 Android 应用程序访问它。
然后,您可以根据需要在 Google Docs 中对其进行编辑,也可以在本地对其进行修改,然后重新上传。
Apache POI是拆开 Excel 电子表格的门票。它的功能并不完整,但对于您运行的大多数工厂电子表格来说,它可以解决问题。
我会警告你,它相当密集,并且没有很好的文档记录,但它确实有效。不幸的是,我们运行了几个电子表格解析器,而且效果很好。也适用于生成电子表格。
由于您似乎要将它用作某种配置文件,因此我还建议您在提取值后将其重新打包成比电子表格更小的东西……笨重。与应用程序随附的配置电子表格相比,YAML、JSON 甚至 XML 都是不错的选择。