繁体   English   中英

如何从blobstore获取上传的excel文件以及如何将该文件分配给FileInputStream

[英]How to get uploaded excel file from blobstore and how to assign that file to FileInputStream

我正在使用GWT Java进行项目。 我将Excel文件上传到了Google App Engine中的Blobstore中。 我想从blobstore读取Excel文件。 因此,我必须将excel文件从blobstore分配给FileInputStream。

例:

 FileInputStream file = new FileInpuStream("what is path shall i provide here")  

将Blobstore中的excel文件分配给FileInputStream的可能方法是什么? 有什么帮助吗?

提前致谢

您可以使用Apache POI通过FileInputStream打开Excel文件,例如:

XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(<whatever>));

并与POI API一起修改Excelsheet或获取cellinfos。 有关Apache POI的更多信息: 单击此处

或在SO上看到类似的问题: 单击此处

Apache POI XSSFWorkbook接受FileInputStream 假设您可以通过BlobstoreInputStream实例访问Blob对象,则可以调用:

 // BlobKey blobKey = initialize your blob key
 XSSFWorkbook wb = new XSSFWorkbook(new BlobstoreInputStream(blobKey));

您可以通过以下方式访问Blobstore

public class Upload extends HttpServlet {
    private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();

    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {
        Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);
        List<BlobKey> blobKeys = blobs.get("myFile");

        if (blobKeys != null && !blobKeys.isEmpty()) {
            XSSFWorkbook wb = new XSSFWorkbook(new BlobstoreInputStream(blobKeys.get(0)));
        }
    }
}

进一步阅读: Blobstore Java API概述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM