导出带有图片的excel
public static void main(String[] args) {
try {
FileOutputStream out = new FileOutputStream("d:\\excel13.xls");
HSSFWorkbook wb = new HSSFWorkbook();
Font headFont = wb.createFont();
headFont.setFontName("宋体");
headFont.setFontHeightInPoints((short) 18);// 字体大小
headFont.setBold(true);// 字体大小
CellStyle headStyle = wb.createCellStyle();
headStyle.setFont(headFont);
headStyle.setAlignment(HorizontalAlignment.CENTER);// 左右居中
headStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中
//创建sheet页
HSSFSheet sheet = wb.createSheet("农村集体监督资金支付明细");
sheet.setColumnWidth(0,4500);
sheet.setColumnWidth(1,3500);
sheet.setColumnWidth(2,3000);
sheet.setColumnWidth(3,4500);
sheet.setColumnWidth(4,3000);
sheet.setColumnWidth(5,3000);
//创建行
HSSFRow row0 = sheet.createRow(0);
row0.setHeight((short)800);
//创建单元格
HSSFCell cell00 = row0.createCell(0);
//往单元格中设置值
cell00.setCellValue("农村集体监督资金支付明细");
cell00.setCellStyle(headStyle);
//合并单元格
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 5));
Font cellFont = wb.createFont();
cellFont.setFontName("宋体");
cellFont.setFontHeightInPoints((short) 12);// 字体大小
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setFont(cellFont);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中
CellStyle cellStyle2 = wb.createCellStyle();
cellStyle2.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中
cellStyle2.setFont(cellFont);
HSSFRow row1 = sheet.createRow(1);
row1.setHeight((short)500);
HSSFCell cell10 = row1.createCell(0);
cell10.setCellValue("申请单位");
cell10.setCellStyle(cellStyle2);
HSSFCell cell11 = row1.createCell(1);
cell11.setCellValue("");
cell11.setCellStyle(cellStyle2);
HSSFCell cell15 = row1.createCell(5);
cell15.setCellValue("");
cell15.setCellStyle(cellStyle2);
sheet.addMergedRegion(new CellRangeAddress(1, 1, 1, 4));
HSSFRow row2 = sheet.createRow(2);
row2.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row2.createCell(i);
if(i==0){
cell.setCellValue("款项用途");
}else if(i==2){
cell.setCellValue("yiyi");
}else{
cell.setCellValue("");
}
cell.setCellStyle(cellStyle);
}
sheet.addMergedRegion(new CellRangeAddress(2, 2, 1, 5));
HSSFRow row3 = sheet.createRow(3);
row3.setHeight((short)500);
HSSFCell cell30 = row3.createCell(0);
for(int i=0;i<6;i++){
HSSFCell cell = row3.createCell(i);
if(i==0){
cell.setCellValue("金额");
}else if(i==1){
cell.setCellValue("yiyi");
}else if(i==5){
cell.setCellValue(11);
}else{
cell.setCellValue("");
}
cell.setCellStyle(cellStyle);
}
sheet.addMergedRegion(new CellRangeAddress(3, 3, 1, 4));
HSSFRow row4 = sheet.createRow(4);
row4.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row4.createCell(i);
if(i==0){
cell.setCellValue("付款方式");
}else if(i==1){
cell.setCellValue("单笔转账支付");
}else{
cell.setCellValue("");
}
cell.setCellStyle(cellStyle);
}
sheet.addMergedRegion(new CellRangeAddress(4, 4, 1, 5));
HSSFRow row5 = sheet.createRow(5);
row5.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row5.createCell(i);
if(i==0){
cell.setCellValue("付款人名称");
}else if(i==3){
cell.setCellValue("付款人账号");
}else{
cell.setCellValue("");
}
cell.setCellStyle(cellStyle);
}
sheet.addMergedRegion(new CellRangeAddress(5, 5, 1, 2));
sheet.addMergedRegion(new CellRangeAddress(5, 5, 4, 5));
HSSFRow row6 = sheet.createRow(6);
row6.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row6.createCell(i);
if(i==0){
cell.setCellValue("收款人名称");
}else if(i==3){
cell.setCellValue("收款人账号");
}else{
cell.setCellValue("");
}
cell.setCellStyle(cellStyle);
}
sheet.addMergedRegion(new CellRangeAddress(6, 6, 1, 2));
sheet.addMergedRegion(new CellRangeAddress(6, 6, 4, 5));
CellStyle cellStyle3 = wb.createCellStyle();
cellStyle3.setFont(cellFont);
cellStyle3.setBorderRight(BorderStyle.THIN);
cellStyle3.setBorderBottom(BorderStyle.THIN);
cellStyle3.setBorderLeft(BorderStyle.THIN);
cellStyle3.setBorderTop(BorderStyle.THIN);
cellStyle3.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中
cellStyle3.setAlignment(HorizontalAlignment.CENTER);// 上下居中
HSSFRow row7 = sheet.createRow(7);
row7.setHeight((short)600);
for(int i=0;i<6;i++){
HSSFCell cell7 = row7.createCell(i);
if(i==0){
cell7.setCellValue("审批情况");
}else{
cell7.setCellValue("");
}
cell7.setCellStyle(cellStyle3);
}
sheet.addMergedRegion(new CellRangeAddress(7, 7, 0, 5));
CellStyle cellStyle4 = wb.createCellStyle();
cellStyle4.setFont(cellFont);
cellStyle4.setBorderRight(BorderStyle.THIN);
cellStyle4.setBorderBottom(BorderStyle.THIN);
cellStyle4.setBorderLeft(BorderStyle.THIN);
cellStyle4.setBorderTop(BorderStyle.THIN);
cellStyle4.setVerticalAlignment(VerticalAlignment.CENTER);// 上下居中
cellStyle4.setAlignment(HorizontalAlignment.CENTER);
HSSFRow row8 = sheet.createRow(8);
row8.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row8.createCell(i);
if(i==0){
cell.setCellValue("职务");
}else if(i==1){
cell.setCellValue("审核审批状态");
}else if(i==2){
cell.setCellValue("审核审批意见");
}else if(i==3){
cell.setCellValue("");
}else if(i==4){
cell.setCellValue("审核审批人签字");
}else if(i==5){
cell.setCellValue("审核日期");
}
cell.setCellStyle(cellStyle4);
}
sheet.addMergedRegion(new CellRangeAddress(8, 8, 2, 3));
HSSFRow row9 = sheet.createRow(9);
row9.setHeight((short)500);
for(int i=0;i<6;i++){
HSSFCell cell = row9.createCell(i);
if(i==0){
cell.setCellValue("职务");
}else if(i==1){
cell.setCellValue("审核审批状态");
}else if(i==2){
cell.setCellValue("审核审批意见");
}else if(i==3){
cell.setCellValue("");
}else if(i==4){
try {
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
BufferedImage bufferImg = null;
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("F:\\小憩\\Map.png"));
ImageIO.write(bufferImg, "png", byteArrayOut);
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 250,(short) 4, 9, (short) 4, 9);
anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));
} catch (IOException e) {
e.printStackTrace();
}
}else if(i==5){
cell.setCellValue("审核日期");
}
cell.setCellStyle(cellStyle4);
}
sheet.addMergedRegion(new CellRangeAddress(9, 9, 2, 3));
wb.write(out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
导出带有图片的excel的更多相关文章
- java 导出blob图片到excel
实现功能,导出当前页面显示员工的图片,核心代码已给出,仅供参考, 如需转载请注明出处http://www.cnblogs.com/wangjianguang/p/7852060.html 随便再扯2句 ...
- 导出包含图片的excel、word、pdf 笔记
/** * 导出word * @throws Exception */ @Override public byte[] WordExport( List<VbLibGlobalAnalyList ...
- 导出带图片的Excel——OOXML文件分析
需求: 普通js导出文件excel具有兼容性问题,通过js-xsl导出文件API未找到导出图片的方案,实例过少,因此针对07年后以.xlsx后缀的excel文件,通过修改后缀.zip参考文件模板来实现 ...
- C#导出带有格式的Excel(列宽,合并单元格,显示边框线,加背景颜色等)
源地址:http://blog.sina.com.cn/s/blog_74f702e60101au55.html 导出excel相关设置:http://blog.csdn.net/wanmingtom ...
- eclipse导出带有图片、音效、其他二进制文件的jar文件的经历
先说下简单流程吧: 1.选中“项目”,右键->export->java的“jar file”->勾选“export generated clas files and resource ...
- Java POI 导出带有图片的word
1. 引入maven ,具体可以上github看一下,这里做简单的说明,是一个大神封装了一下 官方提供的语法 文本语法是 {{Text}} 图片语法是{{@Image}} 其他的自己去看官方文档 &l ...
- JAVA将Excel中的报表导出为图片格式(一)问题背景
如题所示,先抛出一个问题,如何使用JAVA将Excel中的报表导出为图片格式? 首先说一下这个问题的背景,也就是为什么博主会碰到这个问题 随着微信,易信之流大行其道,企业内部的办公交流.绩效考评甚至考 ...
- OpenXml Excel数据导入导出(含图片的导入导出)
声明:里面的很多东西是基于前人的基础上实现的,具体是哪些人 俺忘了,我做了一些整合和加工 这个项目居于openxml做Excel的导入导出,可以用OpenXml读取Excel中的图片 和OpenXml ...
- Laravel Excel模板导出-带图片
Laravel Excel版本 3.1 1.数据准备 建个2个表,加点数据,控制器中查数据,给模板使用. 表1-order:id, order_no, img_path, note 表2-order_ ...
随机推荐
- 4. 上新了Spring,全新一代类型转换机制
目录 ✍前言 版本约定 ✍正文 PropertyEditor设计缺陷 新一代类型转换 Converter 代码示例 不足 ConverterFactory 代码示例 不足 GenericConvert ...
- Go操作Redis实战
目录 安装Redis客户端 连接redis 基本指令 Keys():根据正则获取keys Type():获取key对应值得类型 Del():删除缓存项 Exists():检测缓存项是否存在 Expir ...
- 个人MySQL的事务特性原理学习笔记总结
目录 个人MySQL的事务特性原理笔记总结 一.基础概念 2. 事务控制语句 3. 事务特性 二.原子性 1. 原子性定义 2. 实现 三.持久性 1. 定义 2. 实现 3. redo log存在的 ...
- 国产的开源数据库——GitHub 热点速览 Vol.52
作者:HelloGitHub-小鱼干 本以为本周的 GitHub 和十二月一样平平无奇就那么度过了,结果 BackgroundMattingV2 重新刷新了本人的认知,还能这种骚操作在线实时抠视频去背 ...
- JavaWeb基础总结:Filter专题
Java Servlet Filter Filter 被称为过滤器,其主要作用是对 Servlet 容器调用 Servlet 的过程进行拦截,从而在 Servlet 进行响应处理的前后实现一些特殊功能 ...
- San Francisco Crime Classification非数值性多分类问题
给出了旧金山以往犯罪活动的相关信息,预测特定条件下的犯罪情况 分析数据集和测试集信息: 训练集给出的信息有: 1.Dates:时间日期和时间,这里考虑时间对犯罪活动有影响,日期和下边的周几有相似处,取 ...
- java混淆工具 字符串加密 程序加密 代码逻辑混淆 防止反编译
混淆工具使用文档 ht-confusion-project1.0.0 目 录 1.功能介绍... 1 2.安装说明... 3 2.1Window查询jdk版本(点击开始菜单,输入cmd, 输入java ...
- HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验
HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验 硬件平台 基于正点原子战舰V3开发板 MCU:STM32F103ZET6 片上SRAM大小:64KBytes 片上FLASH大小 ...
- flume集成kafka(kafka开启kerberos)配置
根据flume官网:当kafka涉及kerberos认证: 涉及两点配置,如下: 配置一:见下实例中红色部分 配置conf实例: [root@gz237-107 conf]# cat flume_sl ...
- spark常用提交任务的基本的参数配置
#!/bin/bash #队列名 根据yarn的队列提交 realtime_queue=root #提交的任务名 my_job_name="OrderQZ" spark-shell ...