导出带有图片的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_ ...
随机推荐
- .NET生态系统掠影
如果你是一名开发人员,想要进入到.NET的世界,你需要知道都有哪些可能.由于.NET Framework是..NET生态系统中最流行的技术,你可以用它来构建各种各样的应用程序,但是最近,出现了一些新的 ...
- vue API 知识点(4) --- 指令、特殊 attribute 、内置组件
一.指令 1.v-text <span v-text="msg"></span> <!-- 两种写法是一样的 --> <span>{ ...
- day021|python之面向对象进阶1
面向对象进阶 目录 面向对象进阶 1 继承 1.1 继承入门 1.1.1 继承基础 1.1.2 类的基本使用 1.2 多继承 1.2.1 多继承的基本使用 1.2.2 多继承以后的重复性 1.3 类的 ...
- NET 5 Cron表达式
cron表达式通过特定的规则指定时间,用于定时任务 1. 整体结构 cron表达式是一个字符串,分为6或7个域,每两个域之间用空格分隔,其语法格式为: "秒域 分域 时域 日域 月域 周域 ...
- MySQL 5.6.38安装
#1.安装说明 本套安装方式适用于:CentOS6.X 或CentOS7.X系列的OS安装,此方法适用于MySQL5.6.xx版本的安装,如果是5.7版本的话不适合该配置. #2.准备安装环境 # N ...
- 卷积神经网络CNN-学习1
卷积神经网络CNN-学习1 十年磨一剑,霜刃未曾试. 简介:卷积神经网络CNN学习. CNN中文视频学习链接:卷积神经网络工作原理视频-中文版 CNN英语原文学习链接:卷积神经网络工作原理视频-英文版 ...
- 22. Generate Parentheses生成指定个括号
生成指定个数的括号,这些括号可以相互包括,但是一对括号的格式不能乱(就是配对的一个括号的左括号要在左边,右括号要在右边) 思维就是从头递归的添加,弄清楚什么时候要添加左括号,什么时候添加右括号 有点像 ...
- 在mac上使用vscode创建第一个C++项目
https://blog.csdn.net/bujidexinq/article/details/106539523 准备工作:安装好vscode安装插件『C/C++』正式开始:首先是创建一个空的文件 ...
- Vue - MVVM模式及优点
MVVM模式 视图层和数据层的双向绑定,让我们无需再去关心DOM操作的事情,更多的精力放在数据和业务逻辑上去 MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想. Mod ...
- python常用操作和内置函数
一.常用数据处理方法. 1.索引:按照号码将对应位置的数据取出使用 2.list将任意类型数据用逗号分割存在列表中 3.range:产生一堆数字(顾头不顾尾) 4.切片:可以从复制数据的一部分,不影响 ...