package oa.excel;
import include.nseer_db.nseer_db_backup1;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.Region;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import sellsystem.common.*;
/**
*
* @author 赵永恩
*
*/
public class excel_ok_finda extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
@SuppressWarnings({"unchecked","deprecation"})
public synchronized void service(HttpServletRequest request,HttpServletResponse
response) throws IOException,ServletException{
HttpSession dbSession = request.getSession();
HttpSession session = request.getSession();
ServletContext dbApplication = dbSession.getServletContext();
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.setHeader("Cache-Control", "no-cache");
nseer_db_backup1 oa_db = new nseer_db_backup1(dbApplication);
//rounding roun=new rounding();//数据格式化
try {
if (oa_db.conn((String) dbSession.getAttribute("unit_db_name"))) {
ServletContext context = session.getServletContext();
String path = context.getRealPath("/");
String outputFile = path;
String outtype = request.getParameter("outtype");//文件名
if (outtype != null && outtype.equals("weixiu")){
outputFile += "excel_files/weixiu.xls";
HSSFWorkbook workbook = new HSSFWorkbook();//创建工作簿
HSSFSheet sheet = workbook.createSheet();//标题
workbook.setSheetName(0, "维修记录");
HSSFRow row = null;//创建行
HSSFCell cell = null;//创建单元格(左上端)
String sql="select * from oa_vehicle_weixiu";
//System.out.println(sql);
ResultSet rs = oa_db.executeQuery(sql);
ArrayList arr = new ArrayList();
ArrayList arr2 = null;
while (rs.next()) {
arr2 = new ArrayList();
arr2.add(rs.getString("car_id"));
arr2.add(rs.getString("car_name"));
arr2.add(rs.getString("car_item"));
arr2.add(rs.getString("money"));
arr2.add(rs.getString("date"));
arr2.add(rs.getString("register"));
arr2.add(rs.getString("time"));
arr2.add(rs.getString("car_remark"));
arr.add(arr2);
}
row = sheet.createRow((short) 0);
cell = row.createCell(0);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("车辆名称");
cell = row.createCell(1);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("车辆牌号");
cell = row.createCell(2);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("维修项目");
cell = row.createCell(3);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("维修费用");
cell = row.createCell(4);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("维修日期");
cell = row.createCell(5);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("录入人");
cell = row.createCell(6);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("录入时间");
cell = row.createCell(7);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("备注");
for (int j = 0; j < arr.size(); j++) {
arr2 = (ArrayList) arr.get(j);
row = sheet.createRow((short) j + 1);
for (int k = 0; k < arr2.size(); k++) {
cell = row.createCell(k);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue((String) arr2.get(k));
}
}
// 新建一输出文件流
FileOutputStream fOut = new FileOutputStream(outputFile);
// 把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
// 操作结束,关闭文件
fOut.close();
// 文件生成...
response.sendRedirect("/erp/oa/vehicle/query_excel.jsp");
}
}else{
response.sendRedirect("error_conn.htm");
}
}catch (Exception ex){
ex.printStackTrace();
}finally{
try{
oa_db.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}