2014-10-20 267 views
0

我已将Excel文件上传到GCS。使用本地Excel文件中的Apache POI库 我可以读取数据。从Google云端存储中存储的XLS中读取数据

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

请建议我从GCS的Excel文件阅读方法。

在此先感谢。

+0

你能否具体谈谈您的问题?您想要做的事情应该非常简单:使用Google Cloud Storage Client Library从GCS中读取文件,并将内容存储在内存中,然后使用POI进行处理。 – user3355018 2014-10-20 15:39:05

+0

我想知道从谷歌云存储中读取excel文件的可用库。 – 2014-10-21 05:31:10

回答

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或从源代码构建,否则将遇到问题'com.sun.org.apache.xerces.internal.util。 SecurityManager是一个受限制的类'[2]。

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

相关问题