package com.beilei.controller.applyprocess;
import com.beilei.entity.DriverApplyProcess;
import com.beilei.util.WebUtils;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.apache.log4j.Logger;
import com.beilei.utils.DriversellTimeUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.Date;
import java.util.List;
public class ApplyProcessExcelUtil {
private static final Logger logger = Logger.getLogger(ApplyProcessExcelUtil.class);
public static void exportExcel(HttpServletRequest request, HttpServletResponse response, List<DriverApplyProcess> driverApplyProcess) throws Exception {
String filePath = request.getServletContext().getRealPath("/");
File file = new File(filePath + "[" + new Date().getTime() + "]" + ".xls");
WritableWorkbook book = null;
book = Workbook.createWorkbook(file);
WritableSheet sheet = book.createSheet("第一页", 0);
WritableFont wfc1 = new WritableFont(WritableFont.ARIAL, 13, WritableFont.NO_BOLD, false);
jxl.write.WritableCellFormat wcfFC1 = new jxl.write.WritableCellFormat(wfc1);
wcfFC1.setAlignment(jxl.format.Alignment.CENTRE);
wcfFC1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
WritableFont wfc2 = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false);
jxl.write.WritableCellFormat wcfFC2 = new jxl.write.WritableCellFormat(wfc2);
wcfFC2.setAlignment(jxl.format.Alignment.CENTRE);
wcfFC2.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
String title = "城市,所属,id,身份证姓名,身份证号码,手机号码,提交时间,行为,状态";
String[] splitsTitle = title.split(",");
int length = splitsTitle.length;
for (int i = 0; i < length; i++) {
sheet.addCell(new Label(i, 0, splitsTitle[i], wcfFC2));
sheet.setColumnView(i, 15);
}
for (int c = 0; c < driverApplyProcess.size(); c++) {
DriverApplyProcess o = driverApplyProcess.get(c);
int rowNum = c + 1;
int colNum = 0;
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getCityName() == null ? "" : o.getDelivererDto().getCityName().toString(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getStationRegionName() == null ? "" : o.getDelivererDto().getStationRegionName(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getBdId() == null ? "" : o.getDelivererDto().getBdId().toString(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getName() == null ? "" : o.getDelivererDto().getName(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getIdentifyNumber() == null ? "" : o.getDelivererDto().getIdentifyNumber(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getDelivererDto().getMobile()== null ? "" : o.getDelivererDto().getMobile(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getcT() == null ? "" : DriversellTimeUtils.unixTimestampToDateString(o.getcT(),"yyyy/MM/dd"), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getType() == null ? "" : o.getType().toString(), wcfFC2));
sheet.addCell(new Label(colNum++, rowNum, o.getStatusName() == null ? "" : o.getStatusName().toString(), wcfFC2));
}
book.write();
book.close();
WebUtils.fileToResponse(response, file);
}
}