0
我有一個服務類,它使用dynamicjasper在xls中創建報告,我想知道如何在Flex應用程序中包含一個按鈕來執行此方法。在flex中調用Java方法HttpServletResponse 4
@Service("downloadService")
@Transactional
public class DownServiceRelTemp {
private static Logger logger = Logger.getLogger("service");
@Resource(name="sessionFactory")
private SessionFactory sessionFactory;
public void downloadXLS(HttpServletResponse response) throws ColumnBuilderException,
ClassNotFoundException, JRException {
logger.debug("Downloading Excel report");
DynamicReport dr = LayouteRelTemp.buildReportLayout();
JRDataSource ds = getDataSource();
JasperReport jr = DynamicJasperHelper.generateJasperReport(dr, new ClassicLayoutManager(), null);
JasperPrint jp = JasperFillManager.fillReport(jr, null, ds);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Exporter.exportToXLS(jp, baos);
String fileName = "MyReport.xls";
response.setHeader("Content-Disposition", "inline; filename=" + fileName);
response.setContentType("application/vnd.ms-excel");
response.setContentLength(baos.size());
Writer.write(response, baos);
}
任何建議,沒有太多的Adobe Flex經驗,並希望有一個簡單的幫助。
感謝喬治。我會看看這個教程。 James Ward是Flex領域的傑出專家。 –