winform 水晶报表制作
1、安装最新的 SP:(SP 29 示例 – https://origin.softwaredownloads.sap.com/public/file/0020000001636412020)
2、新建CrystalReport.rpt报表
3、拖控件,新建参数字段,赋值
比如新建字段Sex,赋值: CrystalReport2 rp = new CrystalReport2(); rp.SetParameterValue("Sex", 值);//性别 crystalReportViewer1.ReportSource = rp;//绑定
4、报表条形二维码:
①、下载128字体;
②、添加公式字段名(可随意起,比如Code128);
③、右键字段名(Code128)——>编辑——>新建报表自定义函数(GetCode128B)——>语法改为Basic语法,然后调用函数(下面附有代码)——>赋值(注意将语法改为Crystal语法再赋值)
Function GetCode128B( inputData As string ) As String
Dim checksum as Number
Dim intPosition as Number
Dim ii as Number
Dim strSpChr as String
checksum = 104
for ii = 0 to Len(inputData)-1
intPosition = ii + 1
strSpChr = Mid(inputData, intPosition, 1)
if Asc(strSpChr) >= 32 then
checksum = checksum + (Asc(strSpChr) - 32) * intPosition
else
checksum = checksum + (Asc(strSpChr) + 64) * intPosition
end if
next
checksum = checksum mod 103
if checksum < 95 then
checksum = checksum + 32
else
checksum = checksum + 100
end if
GetCode128B ="Ì" +inputData+chr(checksum) +"Î"
End Function
赋值:选择自定义函数——>双击自定义函数——>赋值后——>将公式字段控件拖入报表中,点击拖入的控件右键设置对象格式——>字体选择Code 128即可。
报表中托的横杠运行后不显示:把打印时移动到节点的底部勾去掉即可。
详细资料部分需分为几组数据展示时,点击详细资料右键适应节即可。
打印报表:
rp.PrintOptions.PrinterName =System.Drawing.Printing.PrinterSettings.InstalledPrinters[6];//选择打印机型号
rp.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4; // 设置打印纸张样式
rp.PrintToPrinter(1, true, 0, 0);//打印
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~