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 を返す関数も必要です。そして、Web 応答を使用する代わりに、Jersey にそれを書き出させることを望んでいました。
ご協力ありがとうございました。
(私はジャージーと XSSF に少し慣れていないので、用語や理解が間違っている場合はご容赦ください)