package com.yeqifu.stat.utils;
import com.yeqifu.bus.domain.Customer;
import com.yeqifu.bus.domain.Rent;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.util.CellRangeAddress;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
/**
* 出租单数据库导出
*/
public class ExportRentUtils {
/**
* 导出出租单的数据
* @param rent
* @param sheetName
* @param customer
* @return
*/
public static ByteArrayOutputStream exportRent(Rent rent,Customer customer,String sheetName) {
//1.组装excel文档
//1.1创建工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//1.2创建样式
HSSFCellStyle baseStyle = ExportHSSFCellStyle.createBaseStyle(workbook);
HSSFCellStyle titleStyle = ExportHSSFCellStyle.createTitleStyle(workbook);
//1.3在工作簿创建sheet
HSSFSheet sheet = workbook.createSheet(sheetName);
//1.4设置sheet
sheet.setDefaultColumnWidth(30);
sheet.setColumnWidth(1,50*256);
//1.5合并
CellRangeAddress region1 = new CellRangeAddress(0, 0, 0, 3);
sheet.addMergedRegion(region1);
//1.6.1创建第一行
int index=0;
HSSFRow row1 = sheet.createRow(index);
//1.6.2在第一行里面创建一个单元格
HSSFCell row1_cell1 = row1.createCell(0);
//1.6.3设置标题样式
row1_cell1.setCellStyle(titleStyle);
//1.6.4设置单元格内容
row1_cell1.setCellValue(customer.getCustname()+"的出租单信息");
//1.7.1创建第二行
index++;
HSSFRow row2 = sheet.createRow(index);
//设置行高
row2.setHeightInPoints(150);
HSSFCell row2_cell1 = row2.createCell(0);
row2_cell1.setCellStyle(baseStyle);
row2_cell1.setCellValue("出租单号:");
HSSFCell row2_cell2 = row2.createCell(1);
row2_cell2.setCellStyle(baseStyle);
row2_cell2.setCellValue(rent.getRentid());
HSSFCell row2_cell3 = row2.createCell(2);
row2_cell3.setCellStyle(baseStyle);
row2_cell3.setCellValue("二维码:");
HSSFCell row2_cell4 = row2.createCell(3);
row2_cell4.setCellStyle(baseStyle);
row2_cell4.setCellValue("");
InputStream logoStream = ExportCustomerUtils.class.getClassLoader().getResourceAsStream("logo.jpg");
//画图片
BufferedImage image = ZXingCodeEncodeUtils.createZxingCodeUseLogo(rent.getRentid(), 150, 150, logoStream);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ImageIO.write(image,"JPEG",bos);
} catch (IOException e) {
e.printStackTrace();
}
//画图的顶级管理器,一个sheet只能获取一个
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
/**
* 参数4 设置图片的平铺程度 最大值是255 255代表铺满当前单元格 小于255就铺不满
* 参数5 列的开始坐标
* 参数6 行的开始坐标
* 参数7 列的结束坐标
* 参数8 行的结束坐标
*/
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 255, (short) 3, 1, (short) 4, 1);
anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
patriarch.createPicture(anchor,workbook.addPicture(bos.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
//1.7.1创建第三行
index++;
HSSFRow row3 = sheet.createRow(index);
HSSFCell row3_cell1 = row3.createCell(0);
row3_cell1.setCellStyle(baseStyle);
row3_cell1.setCellValue("客户姓名:");
HSSFCell row3_cell2 = row3.createCell(1);
row3_cell2.setCellStyle(baseStyle);
row3_cell2.setCellValue(customer.getCustname());
HSSFCell row3_cell3 = row3.createCell(2);
row3_cell3.setCellStyle(baseStyle);
row3_cell3.setCellValue("身份证号:");
HSSFCell row3_cell4 = row3.createCell(3);
row3_cell4.setCellStyle(baseStyle);
row3_cell4.setCellValue(customer.getIdentity());
//1.7.1创建第四行
index++;
HSSFRow row4 = sheet.createRow(index);
HSSFCell row4_cell1 = row4.createCell(0);
row4_cell1.setCellStyle(baseStyle);
row4_cell1.setCellValue("起租时间");
HSSFCell row4_cell2 = row4.createCell(1);
row4_cell2.setCellStyle(baseStyle);
row4_cell2.setCellValue(rent.getBegindate().toLocaleString());
HSSFCell row4_cell3 = row4.createCell(2);
row4_cell3.setCellStyle(baseStyle);
row4_cell3.setCellValue("还车时间:");
HSSFCell row4_cell4 = row4.createCell(3);
row4_cell4.setCellStyle(baseStyle);
row4_cell4.setCellValue(rent.getReturndate().toLocaleString());
//1.7.1创建第三行
index++;
HSSFRow row5 = sheet.createRow(index);
HSSFCell row5_cell1 = row5.createCell(0);
row5_cell1.setCellStyle(baseStyle);
row5_cell1.setCellValue("车牌号:");
HSSFCell row5_cell2 = row5.createCell(1);
row5_cell2.setCellStyle(baseStyle);
row5_cell2.setCellValue(rent.getCarnumber());
HSSFCell row5_cell3 = row5.createCell(2);
row5_cell3.setCellStyle(baseStyle);
row5_cell3.setCellValue("出租价格:");
HSSFCell row5_cell4 = row5.createCell(3);
row5_cell4.setCellStyle(baseStyle);
row5_cell4.setCellValue(rent.getPrice());
//第六行 - 空行
index++;
//第七行
index++;
HSSFRow row7 = sheet.createRow(index);
HSSFCell row7_cell3 = row7.createCell(2);
row7_cell3.setCellStyle(baseStyle);
row7_cell3.setCellValue("打印时间:");
HSSFCell row7_cell4 = row7.createCell(3);
row7_cell4.setCellStyle(baseStyle);
row7_cell4.setCellValue(new Date().toLocaleString());
//第八行
/* index++;
HSSFRow row8 = sheet.createRow(index);
HSSFCell row8_cell3 = row8.createCell(2);
row8_cell3.setCellStyle(baseStyle);
row8_cell3.setCellValue("操作员:");
HSSFCell row8_cell4 = row8.createCell(3);
row8_cell4.setCellStyle(baseStyle);
row8_cell4.setCellValue(rent.getOpername());*/
//第九行
index++;
HSSFRow row9 = sheet.createRow(index);
HSSFCell row9_cell3 = row9.createCell(2);
row9_cell3.setCellStyle(baseStyle);
row9_cell3.setCellValue("客户签名:");
//到此excel组装完毕
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
//把workbook里面的数据写到outputStream
try {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
return outputStream;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
账号密码 admin 123456 ##### 1、客户管理 ###### 客户列表 ###### 客户分页和模糊查询 ###### 客户添加、修改、删除 ###### 导出客户数据 ##### 2、车辆管理 ###### 车辆列表 ###### 车辆车辆分页和模糊查询 ###### 车辆添加、修改、删除 ##### 3、业务管理 ###### 汽车出租 1、根据客户身份证查询所有未出租的车辆信息 2、进行出租 ###### 出租单管理 1、多条件的模糊查询和分页 2、出租单的修改、删除、导出 ###### 汽车入库 ###### 检查单管理 1、多条件模糊查询和分页 2、检查单修改 3、导出检查单 ##### 4、统计分析 ###### 客户男女比例图 ###### 月出租量统计 ###### 销售员业绩统计 ###### 出租车辆类型统计
资源推荐
资源详情
资源评论
收起资源包目录
241-基于SpringBoot的汽车租赁系统(源码+数据库) (882个子文件)
StatController.class 8KB
StatController.class 8KB
ExportRentUtils.class 7KB
ExportRentUtils.class 7KB
UserServiceImpl.class 6KB
UserServiceImpl.class 6KB
RoleServiceImpl.class 6KB
RoleServiceImpl.class 6KB
MenuController.class 5KB
MenuController.class 5KB
ZXingCodeEncodeUtils.class 5KB
ZXingCodeEncodeUtils.class 5KB
ExportCustomerUtils.class 5KB
ExportCustomerUtils.class 5KB
CheckServiceImpl.class 5KB
CheckServiceImpl.class 5KB
AppFileUtils.class 4KB
AppFileUtils.class 4KB
LoginController.class 4KB
LoginController.class 4KB
RentController.class 4KB
RentController.class 4KB
User.class 3KB
User.class 3KB
TreeNode.class 3KB
TreeNode.class 3KB
RentServiceImpl.class 3KB
RentServiceImpl.class 3KB
FileController.class 3KB
FileController.class 3KB
CarController.class 3KB
CarController.class 3KB
CarServiceImpl.class 3KB
CarServiceImpl.class 3KB
MenuServiceImpl.class 3KB
MenuServiceImpl.class 3KB
NewsController.class 3KB
NewsController.class 3KB
CheckController.class 3KB
CheckController.class 3KB
CustomerServiceImpl.class 3KB
CustomerServiceImpl.class 3KB
Car.class 3KB
Car.class 3KB
UserController.class 3KB
UserController.class 3KB
InitMenuData.class 3KB
InitMenuData.class 3KB
Rent.class 3KB
Rent.class 3KB
RoleController.class 3KB
RoleController.class 3KB
NewsServiceImpl.class 3KB
NewsServiceImpl.class 3KB
Check.class 2KB
Check.class 2KB
Menu.class 2KB
Menu.class 2KB
ExportHSSFCellStyle.class 2KB
ExportHSSFCellStyle.class 2KB
RandomUtils.class 2KB
RandomUtils.class 2KB
CustomerController.class 2KB
CustomerController.class 2KB
LogInfoServiceImpl.class 2KB
LogInfoServiceImpl.class 2KB
ResultObj.class 2KB
ResultObj.class 2KB
Customer.class 2KB
Customer.class 2KB
SysConstast.class 2KB
SysConstast.class 2KB
LogInfoController.class 2KB
LogInfoController.class 2KB
SysConstant.class 2KB
SysConstant.class 2KB
News.class 2KB
News.class 2KB
DataGridView.class 2KB
DataGridView.class 2KB
MBGTest.class 2KB
MBGTest.class 2KB
LogInfoVo.class 2KB
LogInfoVo.class 2KB
CheckVo.class 2KB
CheckVo.class 2KB
NewsVo.class 2KB
NewsVo.class 2KB
LogInfo.class 2KB
LogInfo.class 2KB
StatServiceImpl.class 1KB
StatServiceImpl.class 1KB
TreeNodeBuilder.class 1KB
TreeNodeBuilder.class 1KB
RecycleTempFileTask.class 1KB
RecycleTempFileTask.class 1KB
SysController.class 1KB
SysController.class 1KB
Role.class 1KB
Role.class 1KB
共 882 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
Java旅途
- 粉丝: 1w+
- 资源: 472
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功