从存储在Google云端存储中的XLS读取数据

时间:2014-10-20 12:45:47

标签: google-app-engine

我已将Excel文件上传到GCS。使用本地excel文件中的Apache POI库 我能够读取数据。

我没有获得可用的文件阅读器和从GCS读取数据的方法。

请建议我使用GCS的excel文件阅读方法。

提前感谢。

1 个答案:

答案 0 :(得分:0)

由于这仍然没有答案,我将扩展之前的评论:GCS客户端库[1]将为您提供一个InputStream,您可以使用它来从GCS读取数据:

GcsFilename fileName = new GcsFilename("bucket", "test.xlsx");    
GcsInputChannel readChannel = gcsService.openPrefetchingReadChannel(fileName, 0, BUFFER_SIZE);
InputStream inputStream = Channels.newInputStream(readChannel);

XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
XSSFSheet sheet = workbook.getSheetAt(0);

Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
  // Do stuff...
}

请注意,如果您想在App Engine运行时本身使用POI,您需要使用每晚构建的POI或自己构建源代码,否则您将遇到问题&#39; com.sun.org。 apache.xerces.internal.util.SecurityManager是一个限制类&#39; [2]。

[1] https://cloud.google.com/appengine/docs/java/googlecloudstorageclient/
[2] Google App Engine and Apache Poi loading templates