繁体   English   中英

如何编写使用Excel文件的RestService帖子?

[英]How to write a RestService Post that consumes an Excel File?

我必须编写一个使用Excel文件的Restful服务将其映射到类中并将其写入DataBase。

@POST
@Path("/insertDataInDB)
@Consumes(MediaType.???)
public Response insertDataInDB(???) {
   //do Stuff
}

我的第一个想法是使用ByteStream而不是使用Apache POI解释Stream。 但在这里我得到了一个例外:“org.jboss.resteasy.spi.UnsupportedMediaTypeException”

@POST
@Path("/insertDataInDB")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void insertDataInDB(@FormDataParam("inputfile")
File inputfile) {
    //do Stuff
}

有谁知道要使用什么样的MediaType以及什么样的java DataType?

或者有人有更好的主意?

对于有同样问题的人来说,这对我有用。

@POST
@Path("/insertDataInDB")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void insertDataInDB2(@FormDataParam("inputfile")
MultipartFormDataInput inputfile) {

    Map<String, List<InputPart>> uploadForm = inputfile.getFormDataMap();
    List<InputPart> inputParts = uploadForm.get("inputfile");

    //i have only one inputPart
    InputPart inputPart = inputParts.get(0);

    try {
        InputStream inputStream = inputPart.getBody(InputStream.class, null);

        XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
        XSSFSheet sheet = workbook.getSheetAt(0);
        System.out.println(sheet.getSheetName());

    } catch (IOException e) {
        e.printStackTrace();
    }
}

暂无
暂无

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

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