我正在尝试使用 Jersey 制作一个 XSSFWorkbook。
我尝试了以下标题,但似乎没有任何效果:
@Produces("应用程序/xml")
@Produces("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
@Produces("应用程序/vnd.openxml"
全部返回以下错误:
原因:com.sun.jersey.api.MessageException:Java 类 org.apache.poi.xssf.usermodel.XSSFWorkbook 和 Java 类型类 org.apache.poi.xssf.usermodel.XSSFWorkbook 和 MIME 的消息体编写器未找到媒体类型 application/xml ... 37 更多
本质上,我有一个创建 XSSFWorkbook 的函数,我想把它写出来供用户下载。我能够做到这一点:
/*
HttpServletResponse response;
XssfWorkbook excel.write(response.getOutputStream());
*/
@GET
@Path("/excel/")
@Produces("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
public XSSFWorkbook exportReadingsAsExcel(@Context HttpServletResponse webResponse)
{
XSSFWorkbook excel = createExcel();
setHeader(webResponse, "export.xlsx");
try {
excel.write(webResponse.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
return excel; //ERROR IS HERE
}
但由于其他原因,我还需要返回 XSSFWorkbook 的函数。我希望我可以让泽西写出来,而不是使用网络响应。
感谢您的帮助。
(我对 Jersey 和 XSSF 有点陌生,所以如果我对我的术语或理解不满意,请多多包涵)