2014-10-20 255 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

相關問題