如何实现excel数据导入批量生成二维码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现excel数据导入批量生成二维码相关的知识,希望对你有一定的参考价值。

可以使用《Label mx 通用条码标签设计系统》来制作,下面演示一下如何将Excel的数据批量生成二维码。如下图的表格数据:

Excel

1.启动Label mx条形码软件,选择工具条上的文字、一维码和二维码等工具,参照下图画出标签。

设计标签

2.再画一个数据源图标,在属性面板上点选“Excel 文件”,点击“连接设置”按钮,弹出“数据源窗口_Excel 文件”窗口。

数据源链接窗口

3.单击“确认”按钮,数据源图标会变成绿色,说明数据源已经成功连接。在标签上选择二维码图形,在属性栏里点击“数据库”选项,数据源名选择“@数据源1”,字段选择“QRCODE”,二维码的四周出现红色虚线,说明已经和Excel数据连接成功了

链接数据源

4.下图是预览效果,如果预览没有问题就可以打印了。

设计和预览效果

参考技术A excel表格是完全可以批量生成二维码的,但是,由于每个人生成二维码的内容和位置都不同,所以,要根据自己的要求批量生成二维码就得自己动手来完善VBA的代码。虽然有几种途径来实现获得二维码,但是,都是要能稍微会VB编程的,除非请别人来做(要提供样表)。用excel能生成一个二维码就能批量生成二维码。
excel表格生成二维码文件http://cloud.189.cn/t/3ABRBzz6Vjmu
参考技术B

可使用NPSExcel二维码函数来生成,还支持中文,32位/64位系统Excel2003-2016都可用,直接上图。

java批量数据导出多个excel,为啥老是只生成一个excel文件

public void exportexcel(HttpServletRequest request, HttpServletResponse response) throws Exception
// 为模板中变量赋值
// 传递模板地址和要操作的页签
ExcelExp excel = new XssExcelExp("../../excel/volunteer.xlsx", 0);
VolunteerFormMap volunteerFormMap = findHasHMap(VolunteerFormMap.class);
volunteerFormMap.put("mapper_id","VolunteerMapper.findvolunteer");
List<Map<String, Object>> lists = baseService.findByAll(volunteerFormMap);
for (Map<String, Object> map2 : lists)
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", (String) map2.get("name"));
map1.put("gender", (String) map2.get("gender"));
map1.put("education", (String) map2.get("education"));
map1.put("politicalAff", (String) map2.get("political_aff"));
map1.put("workUnit", (String) map2.get("work_unit"));
map1.put("unitAddress", (String) map2.get("unit_address"));
map1.put("address", (String) map2.get("address"));
map1.put("phoneNumber", (String) map2.get("phoneNumber"));
map1.put("idNumber", (String) map2.get("id_number"));
map1.put("hobby", (String) map2.get("hobby"));
map1.put("contactInfo", (String) map2.get("contact_info"));
map1.put("introducer", (String) map2.get("introducer"));
map1.put("partinTime", (String) map2.get("partin_time"));
excel.replaceExcelData(map1);

// 导出,此处只封装了浏览器下载方式
// 调用downloadExcel,返回输出流给客户端
String fileName = (String) map2.get("name") + ".xlsx";
excel.downloadExcel(response, fileName);



public void downloadExcel(HttpServletResponse response, String filaName) throws IOException
String encodeFileName = URLEncoder.encode(filaName, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename=" + encodeFileName);
//response.setHeader("Accept-Ranges", "bytes");
ServletOutputStream out = response.getOutputStream();
xssWb.write(out);
out.flush();
out.close();

java servlet一个请求,只能有一个返回输出流,所以一次只能下载一个文件。
如果确实需要下载多个Excel文件,可以先在本地生成多个Excel文件,然后使用zip压缩,再通过一个返回输出流将zip压缩包返回给客户端。我也遇到同样的问题,这个是在别人那搜到的。
参考技术A 一个response应该不能返回多个文件的,一次只能返回一个文件啊。如果能返回多个文件,那你的contentType是啥,不合理啊 是不是。追问

那有什么解决办法没?

追答

同一个excel多个sheet不行?

以上是关于如何实现excel数据导入批量生成二维码的主要内容,如果未能解决你的问题,请参考以下文章

python怎么把图片生成二维码?

java后端:实现导出excel,按其中一个列的数据生成二维码图片,显示在列表中

vb6.0 利用 qrmaker 生成二维码,如何固定尺寸

『实战』使用Excel催化剂二维码功能批量生成带不同图案二维码。

在Excel中,不利用任何第三方工具,生成二维码

Excel批量生成条形码