Files
HRMS/hrmsEjb/wenrgise/hrms/webtier/action/HrmAdhocReportAction.java
2025-07-28 13:56:49 +05:30

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");
}
}