1.导入pom

        <dependency><groupId>com.gitee.lwpwork</groupId><artifactId>excel</artifactId><version>0.0.2-RELEASE</version></dependency>

2.对象实体类

package execl;import com.lwp.excel.annotation.Cell;
import com.lwp.excel.annotation.Sheet;
import com.lwp.excel.annotation.Style;
import com.lwp.excel.annotation.Title;
import com.lwp.excel.resolver.ExcelAble;
import lombok.Data;@Data
@Sheet(name = "二维码" )
@Title(value = "生产车间二维码",heightInPoints = 30)
public class QrCode implements ExcelAble {@Cell(value = "编号")private String number;@Cell(value = "规格")private String code;@Cell(value = "状态")private String status;@Cell(value = "日期")private String date;@Cell(value = "创建人")private String createBy;@Cell(value = "二维码")private String image;}

3.实现类

package execl;import com.lwp.excel.util.ExcelUtil;
import org.apache.poi.hssf.usermodel.*;import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.List;public class ExprExeclMain {static String filePath = "C:\\Users\\pax\\Desktop\\js\\" ;public static void main(String[] args) throws Exception {String fileName = "qrcode.xls";String path = filePath + fileName;Long start = System.currentTimeMillis(); // 开始时间List<QrCode> qrCodes = qrCodeInit();//初始化数据列表。HSSFWorkbook wb = ExcelUtil.exportExcel(qrCodes);//生成Excel的HSSFWorkbook 对象。auotCreateQrCode(wb,qrCodes); //设置生产二维码ExcelUtil.createExcelFile(wb,path);//生成文件System.out.println(System.currentTimeMillis()-start); //结束时间}/*** 设置单元格样式,插入二维码* @param wb* @param qrCodes* @throws Exception*/public static void auotCreateQrCode(HSSFWorkbook wb ,List<QrCode> qrCodes) throws Exception {//读一张图片String imag = "qrCodeUrl_taima_0001000001.png";String imagePath = filePath + imag;ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();Image src = Toolkit.getDefaultToolkit().getImage(imagePath);BufferedImage bufferImg = toBufferedImage(src);ImageIO.write(bufferImg, "jpg", byteArrayOut);//画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)HSSFSheet sheet1 = wb.getSheetAt(0);sheet1.setColumnWidth(5,1000 *5);  // 二维码那列的宽度HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();//生产二维码数据for(int i = 0 ; i< qrCodes.size() ; i++){System.out.println("数据 :"+i);sheet1.getRow(2+i).setHeight((short) 2000); //每行数据高度//anchor主要用于设置图片的属性HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255,(short) 5, 2 +i, (short) 5, 2+i);anchor.setAnchorType(3);//插入图片patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG));}}public static List<QrCode> qrCodeInit(){List<QrCode> qrCodes = new ArrayList<QrCode>();for(int i=0 ; i<10; i++){QrCode qrCode = new QrCode();qrCode.setNumber("No."+i);qrCode.setCode("YX-123000"+i);qrCode.setCreateBy("管理员");qrCode.setDate("2021-01-06");qrCode.setStatus("正常");qrCodes.add(qrCode);}return qrCodes;}/*** 图片转换* @param image* @return*/public static BufferedImage toBufferedImage(Image image) {if (image instanceof BufferedImage) {return (BufferedImage)image;}image = new ImageIcon(image).getImage();BufferedImage bimage = null;GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();try {int transparency = Transparency.OPAQUE;GraphicsDevice gs = ge.getDefaultScreenDevice();GraphicsConfiguration gc = gs.getDefaultConfiguration();bimage = gc.createCompatibleImage(image.getWidth(null), image.getHeight(null), transparency);} catch (HeadlessException e) {}if (bimage == null) {int type = BufferedImage.TYPE_INT_RGB;bimage = new BufferedImage(image.getWidth(null), image.getHeight(null), type);}Graphics g = bimage.createGraphics();g.drawImage(image, 0, 0, null);g.dispose();return bimage;}
}

参考链接:https://blog.csdn.net/qq_36622496/article/details/100152838

生成二维码,批量导出带格式的execl相关推荐

  1. Zxing生成二维码(可带图标)

    Zxing生成二维码(可带图标) SwetakeQRCode.BarCode4j.Zxing-- 生成二维码的开源项很多,在下不才只目前只了解这几个, 选择Zxing的原因可能是因为google吧,还 ...

  2. java使用zxing生成二维码,可带logo和底部文字

    java使用zxing生成二维码,可带logo和底部文字 springboot中整合zxing生成二维码 一.导入依赖 <properties><zxing.version>3 ...

  3. springboot+hutool批量生成二维码压缩导出

    文章目录 1.引入依赖 2.测试编码 3.批量生成 4.解析excel 5.批量图片压缩 6.上传excel直接将输出流转成压缩包 1.引入依赖 <!-- 生成二维码依赖--><de ...

  4. vue前端生成二维码并导出PDF

    1.安装插件 npm install --save qrcodejs2 (这是生成微信二维码插件) npm install html2canvas jspdf --save (这是将html页面转化为 ...

  5. vue-qr 二维码 批量 导出

    参考Vue批量生成二维码并打包下载 首先我们需要安装三个插件 "jszip"//zip打包 "file-saver"//文件保存 "vue-qr&qu ...

  6. 生成二维码并以图片格式下载-qrcodejs2

    最近在做项目,碰到票据完成后的生成二维码以及提供下载功能,这里谈谈个人实战经验: 先上代码: 引入: html: js: 说明: 网上文章里提到的插件很多,但是好像并不是都有用(有点坑),实践之后发现 ...

  7. .NetCore使用Gma.QrCodeNet生成二维码显示VCard名片格式

    部分数据从下面这个链接来的,只是觉得代码比较冗余,所以........ 想看的可以去看下: C# 生成 联系人 二维码_勇敢小菜鸟的博客-CSDN博客NuGet 引用库不废话贴代码:using Gma ...

  8. C# Qrcode生成二维码支持中文,带图片,带文字

    1.下载Qrcode库源码,下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时,部分类库 ...

  9. Qrcode生成二维码支持中文,带图片,带文字

    1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library 2.打开源码时, 部分 ...

  10. php生成二维码工具(带LOGO)

    前期准备: 1.phpqrcode类文件下载,链接:https://pan.baidu.com/s/10TNC_wuHHE8Km_iO5aakZg 提取码:kb08 2.PHP环境必须开启支持GD2扩 ...

最新文章

  1. 冠军方案分享:ICPR 2020大规模商品图像识别挑战赛冠军解读
  2. gnokii 短信猫 中文安装使用文档
  3. NUC1373 Bank Interest【水题】
  4. 优化ASP.NET应用程序性能研究与探讨
  5. 机器学习理论《统计学习方法》学习笔记:奇异值分解(SVD)
  6. Twitter Snowflake
  7. [python opencv 计算机视觉零基础到实战] 十三 直方图颜色提鲜
  8. mysql架构深入_mysql性能优化2:深入认识mysql体系架构
  9. TSP旅行商问题之分支界限法法求解(C语言)
  10. 助老打车暖心车站落地杭州 帮助老年人扫码一键叫车
  11. MVC三层架构在各框架中的特征
  12. lucene中的nrt
  13. JS判断手机端是否安装某应用
  14. 【成功智慧】010.依靠忍耐度过困难时期
  15. K均值聚类算法(K-Means)
  16. 永恒之蓝漏洞复现及上传后门程序
  17. android 点赞 1,Android自定义FloatingText仿点赞+1特效
  18. python 节假日_python判断工作日,节假日
  19. 深度学习网络各种激活函数 Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish
  20. Latex CJK,tex使用中文

热门文章

  1. 等距更纱黑体 T SC regular下载
  2. 微机原理——8255A的编程
  3. 借助excel工具进行多元线性回归模型的建立及案例分析
  4. 微加速度计的原理与应用
  5. OpenCV Mat类的convertTo函数,数据类型转换
  6. windows环境下neo4j下载安装配置
  7. eviews9.0详细安装步骤
  8. 放大器设计-光电放大电路噪声分析-理论
  9. Linux 下载GCC
  10. 卷积定理及常见傅里叶变换表