页面树结构
转至元数据结尾
转至元数据起始

用例一:此方法只支持Code 39标准的条形码字体,该规范不支持大写字母。并且相关数据在数据库查询结果出中,必须前后都添加*号,如:*SG44* ,这样才可以用手机扫描出SG44这个字符串。

用例二:示例仅供参考

用例一

通过使用电子表格的特殊字体,将单元格内容显示为条形码,效果如下

实现步骤

 

1、安装字体:从网上下载条形码字体包,将字体包后解压添加到C:\Windows\Fonts 文件夹下,打开excel字体即可看到安装的条形码。如下:

             

        注:由于浏览器访问资源显示的字体是引用Windows\Fonts下的字体,所以为了可以正常访问条形码资源,要确保访问的机器Windows\Fonts下已经安装了条形码的字体。


2.创建电子表格:

在Excel中登录服务,新建电子表格,将相应字段拖拽到单元格中,并使用Excel公式(="*"&D3&"*")在条形码字段前后添加“*”,并设置居中字体背景色等,如下:


3.设置条形码:

选中单元格,设置字体为条形码字体,并且相应增大字体大小。如下:


4.隐藏原本的条形码字段,发布报表查看如下:


 

注意:如果条形码无法正常显示,需要将字体包添加到 :\Smartbi_Insight\Tomcat\bin\Font-smartbi文件夹下,并重启应用服务器,这样创建好的条形码就可在smartbi中展示并使用。

如果需要导出PDF,服务器端一定需要添加对应的编码字体类型。

用例二

 Code 128字体支持大小写,但是由于 Code 128需要计算校验码,因此不可以直接输入一个字符串就生成符合规范的条码。对应的介绍文档可参考网上的文档: http://www.cnblogs.com/ilookbo/p/4807112.html  ,在数据库查询结果中,自动添加前缀和校验码及后缀。

效果如下:

 

实现步骤

 

1、安装字体:从网上下载条形码字体包,将字体包后解压添加到C:\Windows\Fonts 文件夹下,打开excel字体即可看到安装的条形码。如下:

             


2.创建电子表格:

在Excel中登录服务,新建电子表格,将相应字段拖拽到单元格中,并设置居中字体背景色等,如下:


3.设置条形码:

选中单元格,设置字体为条形码字体,并且相应增大字体大小。如下:


4.发布报表查看如下,设置服务器端宏代码:

function main(spreadsheetReport) {
    var list = spreadsheetReport.getSheetByName("Sheet1").getExpandedPositions("C3")//条形码字段所在单元格
    var cells = spreadsheetReport.workbook.worksheets.get("Sheet1").cells;
    for (var i = 0; i < list.length; i++) {
        var pos = list[i];
        var v = cells.get(pos.row, pos.column).value 
     	var check = 1;
    	if (!v)
    	    continue;
    	for (var j = 0; j < v.length(); j++) {
    		var c = v.charCodeAt(j);
    		if (c < 135) {
    			c -= 32
    		} else {
    			c -= 100
    		}
    		check = (check + (j + 1) * c) % 103
    	}
    	if (check < 95 && check > 0) {
    		check += 32
    	} else if(check > 94) {
    		check += 100
    	}
    	v = String.fromCharCode(204) + v + String.fromCharCode(check) + String.fromCharCode(206)
        cells.get(pos.row, pos.column).value = v;
    }
}


5、最终效果。

 

注意:如果条形码无法正常显示,需要将字体包添加到 :\Smartbi_Insight\Tomcat\bin\Font-smartbi文件夹下,并重启应用服务器,这样创建好的条形码就可在smartbi中展示并使用。

如果需要导出PDF,服务器端一定需要添加对应的编码字体类型。


 


 

 

  • 无标签