excelStreamExcel ファイルをダウンロードしようとしています。
私のアクションクラスでは
public class ActivityTrackerExlReportAction extends BaseAction
{
private InputStream excelStream;
private UserMasterDTO userMasterDTO;
public InputStream getExcelStream()
{
return excelStream;
}
public void setExcelStream(InputStream excelStream) {
this.excelStream = excelStream;
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
WorkbookSettings wbSettings = new WorkbookSettings();
try
{
response.setHeader("Content-Disposition", "attachment; filename=/timesheet.xls");
wbSettings.setLocale(new Locale("en", "EN"));
WritableWorkbook workbook = Workbook.createWorkbook(outputStream, wbSettings);
workbook.createSheet("Report", 0);
WritableSheet excelSheet = workbook.getSheet(0);
service.createLabel(excelSheet);
service.createContent(excelSheet);
workbook.write();
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
setExcelStream(inputStream);
workbook.close();
outStream.flush();
outStream.close();
}
catch(Exception e)
{
}
finally
{
// outStream.close();
}
return "generateReport
}
私のstruts.xml
内容:
<result type="stream" name="generateReport">
<param name="contentType">"application/vnd.ms-excel"</param>
<param name="inputName">excelStream</param>
<param name="bufferSize">1024</param>
</result>
JXL
Excelシートの作成と書き込みに使用しています。エラーが発生する理由と、エラーから抜け出す方法を教えてください。呼び出しスタックにjava.io.InputStream
その名前の が見つかりません[excelStream]
私はスタックトレースです:
java.lang.IllegalArgumentException: 呼び出しスタックに [excelStream] という名前の java.io.InputStream が見つかりません。このアクションに指定されたタグを確認してください。
org.apache.struts2.dispatcher.StreamResult.doExecute(StreamResult.java:237)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) .......