导出EXCEL所用到的类

来源:互联网 发布:网络鸡汤是什么意思 编辑:程序博客网 时间:2024/04/30 05:07

/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */package com.explink.trade.action.system; import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.GregorianCalendar; import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession; import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction; import com.explink.trade.logic.OpsmanageLogic;import com.explink.trade.logic.SystemLogic;import com.explink.trade.model.BackBean;import com.explink.trade.model.CustomerinfoBean;import com.explink.trade.model.LogBean;import com.explink.trade.model.MoneySignForm;import com.explink.trade.model.PayMentsBean;import com.explink.trade.model.SignBean;import com.explink.trade.model.SignStatusBean;import com.explink.trade.model.StatusBean; /**  * MyEclipse Struts * Creation date: 06-16-2008 *  * XDoclet definition: * @struts.action parameter="method" validate="true" */public class CreateExcelAction extends DispatchAction { private static SystemLogic syslogic; private static OpsmanageLogic oplogic;  /**   * Method execute  * @param mapping  * @param form  * @param request  * @param response  * @return ActionForward  */ //日志 excel导出,    public void createExcelLog(ActionMapping mapping, ActionForm form,   HttpServletRequest request,HttpServletResponse response) throws            Exception {        HttpSession session = request.getSession();     LogBean logbean = new LogBean();     logbean = (LogBean)session.getAttribute("logbean");             syslogic = new SystemLogic();        ArrayList datalist = new ArrayList();        datalist = syslogic.searchLog(logbean);                        SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");        GregorianCalendar thisday = new GregorianCalendar();        String filename = bartDateFormat.format(thisday.getTime()); //现在日期时间         response.setContentType("application/vnd.ms-excel");        response.setHeader("Content-Disposition","attachment;filename=" + filename + ".xls");        // 创建新的Excel 工作簿        HSSFWorkbook workbook = new HSSFWorkbook();        // 在Excel工作簿中建一工作表,其名为缺省值         HSSFSheet sheet = workbook.createSheet("Sheet1"); //Sheet1没个新建的Excel都是这个默认值        sheet.getPrintSetup().setLandscape(true);   //   true:横向     false:纵向         int rows = 0; //第一行        int c = 0; //第一列        HSSFRow row = sheet.createRow((short) rows++);               setCellValue(row, c++, "");        setCellValue(row, c++, "日志统计列表");         c=0;        row = sheet.createRow((short) rows++);         setCellValue(row, c++, "时间");        setCellValue(row, c++, logbean.getStartdata());        setCellValue(row, c++, "到");        setCellValue(row, c++, logbean.getEnddata());        setCellValue(row, c++, "");        setCellValue(row, c++, "");        setCellValue(row, c++, "");        setCellValue(row, c++, "");              rows++;//空一行        c=0;        row = sheet.createRow((short) rows++);        setCellValue(row, c++, "序号");        setCellValue(row, c++, "操作员");        setCellValue(row, c++, "操作时间");//        setCellValue(row, c++, "操作事件");//                java.text.DecimalFormat ad = new java.text.DecimalFormat("0.00"); //取小数点后两位         for (int i = 0; i < datalist.size(); i++) {            LogBean datamap = new LogBean();            datamap = (LogBean) datalist.get(i);            row = sheet.createRow((short) rows++);             c = 0; //第一列            setCellValue(row, c++, "" + (i+1));            setCellValue(row, c++, datamap.getUser().toString());            setCellValue(row, c++, datamap.getOperatinghours().toString());             setCellValue(row, c++, datamap.getOperationincident().toString());                   }         row = sheet.createRow((short) rows++);        c = 0; //第一列        setCellValue(row, c++, "合计");        setCellValue(row, c++, datalist.size()+"[票]");        setCellValue(row, c++, "");        setCellValue(row, c++, "");//        setCellValue(row, c++, "");        setCellValue(row, c++, "");//        setCellValue(row, c++, "");        setCellValue(row, c++, "");                setCellValue(row, c++, "");        // 新建一输出文件流              ServletOutputStream fOut = response.getOutputStream();               workbook.write(fOut);         fOut.flush();        // 操作结束,关闭文件        fOut.close();        System.out.println("文件生成...");        }    private void setCellValue(HSSFRow row, int cols, String value) { //设置列数据        HSSFCell cell = row.createCell((short) cols); //设置第cols列        cell.setCellType(HSSFCell.CELL_TYPE_STRING);        cell.setCellValue(value);    }

}

 

 

 

当然它还需要三个poi包

原创粉丝点击