条形码的种类有很多,这里主要以128码为例,介绍下其编码方式,步骤如下:
128码开始于1981年退出,是一种长度可变、连续性的字母数字条码。与其他一维条码比碰掘较起来,128码是较为复杂的条码系统,而其所能支持的字元也相对比其他一维条码来的多,又芦吵枯有不同的编码方式可供交互运用,因此其应用d性比较大。
128码的内容大致分为起始码、资料码、终止码、检查码等四部分,其中检查码是可有可无的。128码陪洞的结构如图所示:
128码具有以下特性:
1.具有A、B、C三种不同的编码类型,可提供标准ASCII中128个字元的编码使用。
2.允许双向的扫描处理。
3.可自行决定是否要加上检查码。
4.条码长度可自由调整,但包括起始码和终止码在内,不可超过232个字元。
5.同一个128码,可以不同的方式多以编码。借由A、B、C三种不同编码规则的互换可扩大字元选择的范围,也可缩短编码的长度。
128码的编码方式
128码有三种不同类型的编码方式,而要选择哪种编码方式,则决定于起始码的内容。
1.起始码
2.终止码
无论是采用A、B、C哪种编码方式,128码的终止码均为固定的一种型态,其逻辑型态皆为1100011101011。
条码的编码规则与码制区分唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。永久性:产品代码一经分配,就不再更改,并且是终身的。当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。
无含义:为了保证代码有足够的容量以适应产品频繁的更新换代的需要,最好采用无含义的顺序码。
条形码的码制区别
UPC:(统一产品代码)
只能表示数字
有A、B、C、D、E四个版本
版本 A - 12 位数字
版本 E - 7 位数字
最后一位为校验位
大小是宽1.5" 高1 " ,而且背景要与清晰
主要使用于美国和加W拿大地区,用于工业、医药、仓库等部门
当UPC 作为十二位进行解码时,定义如下哪宴:
第一位 = 数字标识 (已经由UCC(统一代码委员会)所建立).
第2-6位 = 生产厂家的标识号(包括第一位)
第7-11 = 唯一的厂家产品代码
第12位 = 校验位(used for error detection)
Code 3 of 9 :
能表示字母、数字和其它一些符号共43个字符:A -Z,0 - 9,-.$/+%,pace
条码的长度是可变化的
通常用“*”号作为起始、终止符
校验码不用
代码密度介于3 - 9.4个字符/每英寸
空白区是窄条的10倍
用于工业、图书、以及圆缓掘票证自动化管理上
Code 128:
表示高密度数据, 字符串
字符串可变长
符号内含校验码
有三种不同版本: A, B, and C
可用128个字符分别在 A, B, or C 三个字符串集合中
用于工业、仓库、零售批发
Interleaved 2-of-5 (I2 of 5):
只能表示数字0 -9
可变长度
连续性条码,所有条与空都表示代码,第一个数字由条开始,第二个数字由空组成
空白区比窄条宽10倍
应用于商品批发、仓库、机场、生产/包装识别、工业中
条码的识读率高,可适用于固定条码扫描器可靠扫描
在所有一维条码中的密度最高
Codabar(库德巴条码):
可表示数字0 - 9,字符$、+、 -、还有只能用作起始/终止符的a, b, c d四个字符
可变长度
没有校验位
应用于物料管理、图书馆、血站和当前的机场包裹发送中
空白区比窄条宽10倍
非连续性条码,每个字符表示为4条3空
PDF417 (二维条码):
多行组成的条码
不需要连接一个数据库,本身可存储大量数据
应用于:医院、驾驶证、物料管理、货物运输
当条码受一定破坏时,错误纠正能使条码能正确解码
PDF417, 是Symbol科技公司于1990研制产品。它是一个多行、连续性、可变长、包含大量数据的符号橘核标识。每个条码有3 - 90行,每一行有一个起始部分、数据部分、终止部分。它的字符集包括所有128个字符,最大数据含量是1850个字符。
在 C# WinForm 中导出一维码到 Excel 单元格可以使用 Microsoft.Office.Interop.Excel 程序集。首先需要将该程序集添加到项目中。
首先需要在项目中添加一个引用,如下所示:
在项目上右键单击,然后选择“添加引用”。
在“添加引用”对话框中,选择“COM”选项卡,然后查找并选择“Microsoft Excel xx.x Object Library”(其中 xx.x 为 Excel 版本号)。
点击“确定”按钮以添加引用。
接下来可以使用下面渗液的代码来导出一维码到 Excel 单元格中:
using Microsoft.Office.Interop.Excel
// 省略其他代码
// 创建 Excel 应用程序对象
var excelApp = new Application()
// 添加一个新的工作簿
var workbook = excelApp.Workbooks.Add()
// 获取第一个工作表
var worksheet = workbook.Worksheets[1]
// 将一维码图像插入到指定的单元格中
worksheet.Cells[1, 1].Value = "一维码"
worksheet.Cells[1, 2].Value = "1234"
worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"
// 保存工作簿
workbook.SaveAs("一维码.xlsx")
// 关闭工作簿并退出 Excel 应用程序
workbook.Close()
excelApp.Quit()
您可以继续使用 Microsoft.Office.Interop.Excel 程序集来实现您的需求。
下面是一个例子,展示了如何在 C# WinForm 中使用 Microsoft.Office.Interop.Excel 库来 *** 作 Excel 文件:
using Microsoft.Office.Interop.Excel
// 省略其他代码
// 创建 Excel 应用程序对象
var excelApp = new Application()
// 打开现有的工作簿
var workbook = excelApp.Workbooks.Open("文件厅绝路径")
// 获取第一个工作表
var worksheet = workbook.Worksheets[1]
// 使用 ENCODE_BARCODE 函数将数据编码为一维码,并将其插入到指定的单元格中
worksheet.Cells[1, 1].Value = "一维码"
worksheet.Cells[1, 2].Value = "1234"
worksheet.Cells[1, 2].Formula = "=ENCODE_BARCODE(A2)"
// 保存工作簿
workbook.Save()
// 关闭工作簿并退出 Excel 应用程序
workbook.Close()
excelApp.Quit()
在上面的代码中,使用了 ENCODE_BARCODE 函数将数据丛伏物编码为一维码,并将其插入到第一个工作表的指定单元格中。
请注意,在使用 Microsoft.Office.Interop.Excel 程序集时,需要确保 Excel 应用程序已经安装在计算机上,否则将无法使用该程序集。
此外,如果需要在 C# WinForm 中 *** 作 Excel 文件,可以考虑使用其他第三方库,如 ClosedXML 和 EPPlus
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)