数据库找到数据填入excel中
来源:互联网 发布:淘宝运营服务商没效果 编辑:程序博客网 时间:2024/06/05 18:25
public void generateContract(String carShippingId , String carNumber,HttpServletRequest req, HttpServletResponse resp){
Map<String,Object> contract = carShippingDao.getContractData(carShippingId);//获取数据库信息
if(contract != null) {
generateContract(req, resp,contract);//传入方法中
}
}
/**
* 生成合同excel , 并下载
* @param car
* @param carShipping
* @param contract
* @param contract
*/
public void generateContract(HttpServletRequest req, HttpServletResponse resp, Map<String, Object> contract){
Workbook wb = null;
String path = req.getSession().getServletContext().getRealPath("/");
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String filename = sdf.format(new Date());
try{
InputStream in = this.getClass().getClassLoader().getResourceAsStream("hetongmoban.xls");
wb = Workbook.getWorkbook(in);
//写入
WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File(path+filename), wb);
WritableSheet sheet = writableWorkbook.getSheet(0);
//创建label 进行判断
Label weightLabel = new Label(2,2,contract.get("weight")==null?"":contract.get("weight")+""); //货物装载吨位
Label carNumberLabel = new Label(6,2,contract.get("car_number")==null?"":contract.get("car_number")+""); //车牌号
Label addressLabel = new Label(2,4,contract.get("address")==null?"":contract.get("address")+""); //收货地址
Label goodsTypeLabel = new Label(7,4,""); //货物种类
Label unitPriceLabel = new Label(2,5,""); //运输单价
Label payTypeLabel = new Label(7,5,""); //付款方式
Label driverNameLabel = new Label(2,7,contract.get("driver_name")==null?"":contract.get("driver_name")+""); //司机姓名
Label driverPhoneLabel = new Label(6,7,contract.get("phone_number")==null?"":contract.get("phone_number")+""); //司机手机号
Label driverIDCardLabel = new Label(2,8,contract.get("driver_number")==null?"":contract.get("driver_number")+""); //身份证号
Label driverLicenseLabel = new Label(2,9,contract.get("driver_number")==null?"":contract.get("driver_number")+""); //驾驶证号
Label certificateLabel = new Label(2,10,contract.get("certificate_number")==null?"":contract.get("certificate_number")+""); //资格证号
Label operationLabel = new Label(7,10,contract.get("operation_number")==null?"":contract.get("operation_number")+""); //营运证号
Label oilcardNumberLabel = new Label(1,12,contract.get("oilcard_number")==null?"":contract.get("oilcard_number")+""); //油卡卡号
Label rechargeLabel = new Label(7,12,""); //充值金额
Label backLabel = new Label(1,13,contract.get("bank_code")==null?"":contract.get("bank_code")+""); //银行卡号
Label carownerNameLabel = new Label(8,13,contract.get("carowner_name")==null?"":contract.get("carowner_name")+""); //开户名
Label productNameLabel = new Label(0,32,contract.get("product_name")==null?"":contract.get("product_name")+""); //产品名称
Label colorLabel = new Label(1,32,contract.get("color")==null?"":contract.get("color")+""); //颜色
Label specificationLabel = new Label(2,32,contract.get("specification")==null?"":contract.get("specification")+"");//规格
Label countLabel = new Label(3,32,"");
Label piecesLabel = new Label(4,32,contract.get("pieces")==null?"":contract.get("pieces")+""); //件数
Label textLabel = new Label(5,32,contract.get("text")==null?"":contract.get("text")+""); //备注
Label storehouseLabel = new Label(7,32,contract.get("storehouse")==null?"":contract.get("storehouse")+""); //仓库
//添加到表格中
sheet.addCell(weightLabel);
sheet.addCell(carNumberLabel);
sheet.addCell(addressLabel);
sheet.addCell(goodsTypeLabel);
sheet.addCell(unitPriceLabel);
sheet.addCell(payTypeLabel);
sheet.addCell(driverNameLabel);
sheet.addCell(driverPhoneLabel);
sheet.addCell(driverIDCardLabel);
sheet.addCell(driverLicenseLabel);
sheet.addCell(certificateLabel);
sheet.addCell(operationLabel);
sheet.addCell(oilcardNumberLabel);
sheet.addCell(rechargeLabel);
sheet.addCell(backLabel);
sheet.addCell(carownerNameLabel);
sheet.addCell(productNameLabel);
sheet.addCell(colorLabel);
sheet.addCell(specificationLabel);
sheet.addCell(countLabel);
sheet.addCell(piecesLabel);
sheet.addCell(textLabel);
sheet.addCell(storehouseLabel);
writableWorkbook.write();
writableWorkbook.close();
//输出文件
OutputStream out = resp.getOutputStream();
resp.reset();
// 设置为下载application/x-download
resp.setContentType("application/x-download charset=UTF-8");
// 通常解决汉字乱码方法用URLEncoder.encode(...)
String filenamedisplay = URLEncoder.encode(filename, "UTF-8") + ".xls";
if ("FF".equals(getBrowser(req))) {
// 针对火狐浏览器处理方式不一样了
filenamedisplay = new String(filename.getBytes("UTF-8"),
"iso-8859-1") + ".xls";
}
resp.setHeader("Content-Disposition", "attachment;filename="
+ filenamedisplay);
String p = path + filename;
out.write(FileUtils.readFileToByteArray(new File(path + filename)));
out.flush();
out.close();
resp.flushBuffer();
File file = new File(path + filename);
if(file.exists()){
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 以下为服务器端判断客户端浏览器类型的方法
private String getBrowser(HttpServletRequest request) {
String UserAgent = request.getHeader("USER-AGENT").toLowerCase();
if (UserAgent != null) {
if (UserAgent.indexOf("msie") >= 0)
return "IE";
if (UserAgent.indexOf("firefox") >= 0)
return "FF";
if (UserAgent.indexOf("safari") >= 0)
return "SF";
}
return null;
}
Map<String,Object> contract = carShippingDao.getContractData(carShippingId);//获取数据库信息
if(contract != null) {
generateContract(req, resp,contract);//传入方法中
}
}
/**
* 生成合同excel , 并下载
* @param car
* @param carShipping
* @param contract
* @param contract
*/
public void generateContract(HttpServletRequest req, HttpServletResponse resp, Map<String, Object> contract){
Workbook wb = null;
String path = req.getSession().getServletContext().getRealPath("/");
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String filename = sdf.format(new Date());
try{
InputStream in = this.getClass().getClassLoader().getResourceAsStream("hetongmoban.xls");
wb = Workbook.getWorkbook(in);
//写入
WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File(path+filename), wb);
WritableSheet sheet = writableWorkbook.getSheet(0);
//创建label 进行判断
Label weightLabel = new Label(2,2,contract.get("weight")==null?"":contract.get("weight")+""); //货物装载吨位
Label carNumberLabel = new Label(6,2,contract.get("car_number")==null?"":contract.get("car_number")+""); //车牌号
Label addressLabel = new Label(2,4,contract.get("address")==null?"":contract.get("address")+""); //收货地址
Label goodsTypeLabel = new Label(7,4,""); //货物种类
Label unitPriceLabel = new Label(2,5,""); //运输单价
Label payTypeLabel = new Label(7,5,""); //付款方式
Label driverNameLabel = new Label(2,7,contract.get("driver_name")==null?"":contract.get("driver_name")+""); //司机姓名
Label driverPhoneLabel = new Label(6,7,contract.get("phone_number")==null?"":contract.get("phone_number")+""); //司机手机号
Label driverIDCardLabel = new Label(2,8,contract.get("driver_number")==null?"":contract.get("driver_number")+""); //身份证号
Label driverLicenseLabel = new Label(2,9,contract.get("driver_number")==null?"":contract.get("driver_number")+""); //驾驶证号
Label certificateLabel = new Label(2,10,contract.get("certificate_number")==null?"":contract.get("certificate_number")+""); //资格证号
Label operationLabel = new Label(7,10,contract.get("operation_number")==null?"":contract.get("operation_number")+""); //营运证号
Label oilcardNumberLabel = new Label(1,12,contract.get("oilcard_number")==null?"":contract.get("oilcard_number")+""); //油卡卡号
Label rechargeLabel = new Label(7,12,""); //充值金额
Label backLabel = new Label(1,13,contract.get("bank_code")==null?"":contract.get("bank_code")+""); //银行卡号
Label carownerNameLabel = new Label(8,13,contract.get("carowner_name")==null?"":contract.get("carowner_name")+""); //开户名
Label productNameLabel = new Label(0,32,contract.get("product_name")==null?"":contract.get("product_name")+""); //产品名称
Label colorLabel = new Label(1,32,contract.get("color")==null?"":contract.get("color")+""); //颜色
Label specificationLabel = new Label(2,32,contract.get("specification")==null?"":contract.get("specification")+"");//规格
Label countLabel = new Label(3,32,"");
Label piecesLabel = new Label(4,32,contract.get("pieces")==null?"":contract.get("pieces")+""); //件数
Label textLabel = new Label(5,32,contract.get("text")==null?"":contract.get("text")+""); //备注
Label storehouseLabel = new Label(7,32,contract.get("storehouse")==null?"":contract.get("storehouse")+""); //仓库
//添加到表格中
sheet.addCell(weightLabel);
sheet.addCell(carNumberLabel);
sheet.addCell(addressLabel);
sheet.addCell(goodsTypeLabel);
sheet.addCell(unitPriceLabel);
sheet.addCell(payTypeLabel);
sheet.addCell(driverNameLabel);
sheet.addCell(driverPhoneLabel);
sheet.addCell(driverIDCardLabel);
sheet.addCell(driverLicenseLabel);
sheet.addCell(certificateLabel);
sheet.addCell(operationLabel);
sheet.addCell(oilcardNumberLabel);
sheet.addCell(rechargeLabel);
sheet.addCell(backLabel);
sheet.addCell(carownerNameLabel);
sheet.addCell(productNameLabel);
sheet.addCell(colorLabel);
sheet.addCell(specificationLabel);
sheet.addCell(countLabel);
sheet.addCell(piecesLabel);
sheet.addCell(textLabel);
sheet.addCell(storehouseLabel);
writableWorkbook.write();
writableWorkbook.close();
//输出文件
OutputStream out = resp.getOutputStream();
resp.reset();
// 设置为下载application/x-download
resp.setContentType("application/x-download charset=UTF-8");
// 通常解决汉字乱码方法用URLEncoder.encode(...)
String filenamedisplay = URLEncoder.encode(filename, "UTF-8") + ".xls";
if ("FF".equals(getBrowser(req))) {
// 针对火狐浏览器处理方式不一样了
filenamedisplay = new String(filename.getBytes("UTF-8"),
"iso-8859-1") + ".xls";
}
resp.setHeader("Content-Disposition", "attachment;filename="
+ filenamedisplay);
String p = path + filename;
out.write(FileUtils.readFileToByteArray(new File(path + filename)));
out.flush();
out.close();
resp.flushBuffer();
File file = new File(path + filename);
if(file.exists()){
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 以下为服务器端判断客户端浏览器类型的方法
private String getBrowser(HttpServletRequest request) {
String UserAgent = request.getHeader("USER-AGENT").toLowerCase();
if (UserAgent != null) {
if (UserAgent.indexOf("msie") >= 0)
return "IE";
if (UserAgent.indexOf("firefox") >= 0)
return "FF";
if (UserAgent.indexOf("safari") >= 0)
return "SF";
}
return null;
}
阅读全文
0 0
- 数据库找到数据填入excel中
- 手动将excel表中的数据通过sql语句填入数据库
- 获得数据库的数据加入到JSONArray,再将数据填入到File中
- 在UltraWebGrid中验证填入数据
- c#读取excel填入dataset
- getHibernateTemplate.load()一直无法找到数据库中存在的数据
- 从数据库中写数据到EXCEL
- vs2005中Excel 数据倒入SQL数据库
- 把数据库中的数据读到EXCEL中
- 把Excel表中数据导入数据库
- 将Excel数据导入到数据库中
- Excel表中数据导入数据库
- 数据库中数据导出成excel
- 将Excel中的数据传到数据库中
- 数据库中如何导入大批excel数据
- 从数据库中读取数据到Excel
- 将excel中数据导入数据库
- Excel表格数据导入mysql数据库中
- C语言知识点
- 简单排序算法:直接插入排序(插入排序)
- Spring-data-redis操作redis知识总结
- Generative Adversarial Network (GAN) papers (不定期更新)
- kotlin学习笔记(二)
- 数据库找到数据填入excel中
- 初识 jsonp
- 图片流输出到前台成图片预览显示
- JVM垃圾回收器简单介绍
- 2017-11-07
- 【Burnside引理】【Pólya计数法】【Pollard's Rho】【JZOJ 5457】 项链
- 最小生成树和拓扑排序
- 途牛面经
- 创建私有CA的过程并实现https连接