55 lines
2.6 KiB
Java
55 lines
2.6 KiB
Java
package wenrgise.hrms.webtier.action;
|
|
|
|
import java.io.IOException;
|
|
import java.io.OutputStream;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
import java.util.Locale;
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import jxl.Workbook;
|
|
import jxl.WorkbookSettings;
|
|
import jxl.write.WritableSheet;
|
|
import jxl.write.WritableWorkbook;
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
import org.apache.struts.action.ActionForm;
|
|
import org.apache.struts.action.ActionForward;
|
|
import org.apache.struts.action.ActionMapping;
|
|
import wenrgise.common.bean.BaseHeaderBean;
|
|
import wenrgise.common.exception.EnrgiseApplicationException;
|
|
import wenrgise.common.exception.EnrgiseSystemException;
|
|
import wenrgise.hrms.bean.HrmAdhocReportHdrBean;
|
|
import wenrgise.hrms.ejb.business.HrmAdhocReportBO;
|
|
import wenrgise.hrms.webtier.form.HrmAdhocReportForm;
|
|
|
|
public class HrmAdhocReportAction extends BaseAction {
|
|
public ActionForward executeImpl(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws EnrgiseApplicationException, EnrgiseSystemException, IllegalAccessException, InvocationTargetException, InstantiationException, ClassNotFoundException, ServletException, IOException {
|
|
response.setContentType("application/vnd.ms-excel");
|
|
WorkbookSettings ws = new WorkbookSettings();
|
|
ws.setLocale(new Locale("en", "EN"));
|
|
ServletOutputStream servletOutputStream = response.getOutputStream();
|
|
HrmAdhocReportForm oForm = (HrmAdhocReportForm)form;
|
|
String sFormName = oForm.getClass().getName();
|
|
BaseHeaderBean oBaseHeaderBean = getBaseHeaderBean(sFormName);
|
|
BeanUtils.copyProperties(oBaseHeaderBean, oForm);
|
|
HrmAdhocReportBO oHrmAdhocReportBO = new HrmAdhocReportBO();
|
|
String reportName = oForm.getCode();
|
|
StringBuffer fileName = new StringBuffer("\\");
|
|
fileName.append(reportName);
|
|
fileName.append(".xls");
|
|
response.setHeader("Content-disposition", String.valueOf(String.valueOf("attachment; filename=\"").concat(String.valueOf(fileName.toString()))).concat(String.valueOf("\"")));
|
|
try {
|
|
WritableWorkbook workbook = Workbook.createWorkbook((OutputStream)servletOutputStream, ws);
|
|
WritableSheet s = workbook.createSheet(reportName, 0);
|
|
oHrmAdhocReportBO.downloadAdhocReport((HrmAdhocReportHdrBean)oBaseHeaderBean, s);
|
|
workbook.write();
|
|
workbook.close();
|
|
servletOutputStream.flush();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return mapping.findForward("success");
|
|
}
|
|
}
|