**工作中用到了二维码_生成二维码并导出到excel表.
这里完整做了一下,巩固知识。**

实现效果:在页面上输入字符串,后台处理生成对应的二维码,将二维码作为图片保存,并且在页面显示出来。

前期:用到三方插件ThoughtWorks.QRCode,下载引用。插件生成二维码的类已经很完善,在这里OOXX搬运下就行。

   /// <summary>/// 根据提交的内容显示二维码/// </summary>        protected void btn_Click(object sender, EventArgs e){QRCodeEncoder enCoder = new QRCodeEncoder();enCoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;enCoder.QRCodeBackgroundColor = Color.White;enCoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;enCoder.QRCodeScale = 4;//等级越大像素越高enCoder.QRCodeVersion = 7;//生成了二维码图片Bitmap map = enCoder.Encode(txtUrl.Text.Trim());//将图片保存在本地string filePath = @"F:\google下载\QRCode\";if (!Directory.Exists(filePath)){Directory.CreateDirectory(filePath);}string imgName=Guid.NewGuid().ToString().Replace("-","");string Path=filePath + imgName + ".png";map.Save(Path);            map.Dispose();img.ImageUrl = "http://****:55/" + imgName + ".png";}

效果:
备注:生成二维码图片保存到本地后,我没有想到好的方法呈现在页面,只是在iis上 将保存图片的文件夹发出来在直接访问。对此,期待指点。

下面是将二维码导出到excel 表处理
//将数据整合生成excel

public static MemoryStream DealData(List<NewList> DataList){HSSFWorkbook workbook = new HSSFWorkbook();ISheet sheet = workbook.CreateSheet("Sheet1");//10列sheet.SetColumnWidth(0, 8 * 256 + 200);sheet.SetColumnWidth(1, 8 * 256 + 200);sheet.SetColumnWidth(2, 8 * 256 + 200);sheet.SetColumnWidth(3, 8 * 256 + 200);sheet.SetColumnWidth(4, 8 * 256 + 200);sheet.SetColumnWidth(5, 8 * 256 + 200);sheet.SetColumnWidth(6, 8 * 256 + 200);sheet.SetColumnWidth(7, 8 * 256 + 200);sheet.SetColumnWidth(8, 8 * 256 + 200);sheet.SetColumnWidth(9, 20 * 256 + 200);//图片列//通用样式ICellStyle headStyle = workbook.CreateCellStyle();headStyle.Alignment = HorizontalAlignment.Left;headStyle.VerticalAlignment = VerticalAlignment.Center;IFont font = workbook.CreateFont();font.FontHeightInPoints = 10;font.Boldweight = 30;headStyle.SetFont(font);int rowIndex = 0;#region 表头及样式{IRow headerRow = sheet.CreateRow(rowIndex);headerRow.HeightInPoints = 20;                string[] Header = { "单位", "编码", "厂家", "型号", "功率", "启用日期", "操作人", "操作时间", "油机状态", "二维码" };for (int i = 0; i < Header.Length; i++){headerRow.CreateCell(i).SetCellValue(Header[i]);headerRow.GetCell(i).CellStyle = headStyle;}rowIndex++;}#endregion#region 填充数据for (int j = 0; j <DataList.Count() ; j++){IRow rows = sheet.CreateRow(rowIndex);rows.HeightInPoints = 110;//二维码原大小呈现,行高大int num = 0;//列指针rows.CreateCell(num).SetCellValue(DataList[j].Orgname);//单位rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.Num);//编码rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.Manufactor);//厂家rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.Model);//型号rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.Power.HasValue ? DataList[j].Engine.Power.ToString() : "");//功率rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.EnableTime.HasValue ? DataList[j].Engine.EnableTime.ToString() : "");//启用日期rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].realityName);//操作人rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].Engine.DateInfo.ToString());//操作时间rows.GetCell(num++).CellStyle = headStyle;rows.CreateCell(num).SetCellValue(DataList[j].MachineStateText);//油机状态                rows.GetCell(num++).CellStyle = headStyle;//处理二维码图片AddPieChartMerage(sheet, workbook, DataList[j].Engine.QRCodePhoto, rowIndex, num, 0,true);rowIndex++;}#endregionusing (MemoryStream ms = new MemoryStream()){workbook.Write(ms);ms.Flush();ms.Position = 0;sheet = null;workbook = null;return ms;}}

处理图片

///totalFileURL 图片完整路径  private static void AddPieChartMerage(ISheet sheet, HSSFWorkbook workbook, string totalFileURL, int row, int col, int MerageColCount,bool isResize=false){try{HSSFPatriarch patriarch = (HSSFPatriarch)sheet.CreateDrawingPatriarch();//处理照片位置,【图片左上角为(col, row)第row+1行col+1列,右下角为( col +1, row +1)第 col +1+1行row +1+1列,宽为100,高为50HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 100, 50, col, row, col + 1, row + 1);int i = 0;foreach (var fileurl in totalFileURL.Split(';')){string path = fileurl;byte[] bytes = System.IO.File.ReadAllBytes(path);if (!string.IsNullOrEmpty(path)){int pictureIdx = workbook.AddPicture(bytes, NPOI.SS.UserModel.PictureType.JPEG);anchor = new HSSFClientAnchor(i * 100, 0, i * 100 + 100, 0, col, row, col + 1 + MerageColCount, row + 1);HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);if (isResize)//是否显示图片原大小{pict.Resize();}}i++;}}catch (Exception){//throw ex;}}

效果:

Mark:
生成待logo的二维码:http://www.jb51.net/article/104639.htm
二维码的编码/解码:https://www.cnblogs.com/xuhang/p/3832118.html

生成二维码并导出到excel表相关推荐

  1. 数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据

    数据转换成二维码并导出进Excel中和导入时解码二维码反转成数据 第一步在maven中配置需要的二维码jar包 1.1 谷歌提供的帮助类 1.2 关于二维码的工具类 1.3 测试类 第二步 在Exce ...

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

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

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

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

  4. 全自动生成二维码和条形码,Excel和WPS都可以哦

    安装<E灵V17.0>后,设置好参数,录入任意数据即可自动生成二维码. 单击切换按钮可以切换成条形码,再次单击则生成二维码.

  5. JAVA 生成二维码并写到EXCEL中导出

    1.引入依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>core</a ...

  6. SpringBoot项目生成二维码,再生成Excel文件导出,亲测采坑

    1.项目环境 maven依赖 pom文件 <!--easypoi--><dependency><groupId>cn.afterturn</groupId&g ...

  7. 基于云开发模式的评分小程序总结!二维码、导出excel表格等实用干货!

    基于云开发的打分小程序开发总结 1.TAKE打分小程序 1.1.项目简介 1.1.1.开发背景 1.1.2.项目介绍 1.2.项目效果图 1.2.1.主页 1.2.2.评分流程页 1.2.3.项目详情 ...

  8. Winform中实现Excel导入、表格展示、多选获取值、生成二维码、打印流程(附代码下载)

    场景 整体流程需求 1.导入Excel并获取Excel的数.. 2.将Excel的数据复制给DataGridView中进行显示并能实现多选. 3.根据选中的内容生成二维码. 4.将二维码打印. 整体效 ...

  9. 读取excel批量生成二维码

    昨天工作需要,让生成二维码,让用草料生成,就需要一个个的复制粘贴,有点麻烦.关键是量特别大,如果传统的复制粘贴要很长时间才可以. 后来想到用程序生成.于是百度了一下生成二维码的方法,别说还很简单,把代 ...

  10. 速码工具箱,Excel批量生成二维码,瞬间搞定!

    之前写过一篇文章,<批量生成二维码>,当时介绍了VBA中两种生成二维码的方式,一种需要引用QRmaker控件,一种是纯代码生成的方式.但是这两种方式都有一个最大的bug--不支持64位. ...

最新文章

  1. iOS的KVO实现剖析
  2. Oracle基于Linux平台的虚拟化与云计算战略
  3. 全国计算机等级考试二级教程——公共基础知识(2013年版)pdf,全国计算机等级考试2级教程:公共基础知识(2013年版)...
  4. 软文推荐:常用 Java 静态代码分析工具的分析与比较
  5. morse java_华威MORSE,华威数统那个比较好?
  6. 【OO学习】OO第二单元作业总结
  7. 两岁的微信小程序,创造超 5000 亿的价值
  8. Java并发线程之线程池
  9. python pip install 总是出错的解决方法_pip安装总是失败怎么办? 3个方法帮你解决...
  10. 牛客练习赛22C Bitset
  11. 蚂蚁课堂视频笔记思维导图-4期 四、微服务安全
  12. 板簧的弹性系数如何计算_滑板式钢板弹簧悬架变刚度计算方法的研究
  13. 数据分析全国薪酬分布状况
  14. 记录习惯【Unity 3D中3D场景下嵌套2D Canvas并实现窗口缩放】
  15. FPGA实现HDMI接口
  16. lua入门之环境搭建、第一个demo
  17. unity 两种粒子系统
  18. 智能窗帘研究制作_智能窗帘的制作方法
  19. Unified Batch All Triplet Loss for Visible-Infrared Person Re-identification
  20. meego linux版本,记MeeGo的多系统启动

热门文章

  1. 酷狗社招面试 java_前端面试社招经验(网易,酷狗)
  2. 微星z370黑苹果_[原创]黑苹果Hackintosh 10.13.5 High Sierra i7 8700k z370
  3. Linux 打包压缩命令
  4. 【测试基础】Linux打包、解包、解压缩命令这一篇全
  5. 第九讲 函数间接展开成幂级数
  6. STM8L152K4T6原理图与开发程序
  7. python基础-读写txt文件
  8. html静态网页设计实训总结,html网页设计总结 html静态网页设计大作业
  9. 超详细 excel 基础知识
  10. 数据运营与组织变革 知识体系