first commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
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");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user