使用IRONBARCODE

如何使用C#在Crystal Reports中添加条形码

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2024年四月3日
分享:

Crystal Reports 是一个功能强大的报告工具,允许开发人员为其应用程序创建功能丰富的报告。 在使用C#在Crystal Reports中包含条形码时,它为数据表示增加了一个新的维度,使信息管理和追踪变得更加容易。 在本文中,我们将探讨使用 C# 将 BarCode 集成到 Crystal Reports 中的步骤。

如何使用 C&num 在 Crystal Reports 中添加 BarCode;

  1. 安装 BarCode 库。

  2. 生成 BarCode 图像并将其保存为数据库表中的图像。

  3. 设计 Crystal 报告的布局。

  4. 建立与数据库的连接并选择必要的表。

  5. 在 Crystal Report 布局中包含 BarCode 图像字段。

  6. 构建并运行项目。

选择 BarCode 库

在深入实施之前,选择一个支持 Crystal Reports 和 C# 的条形码库至关重要。 一个受欢迎的选择是IronBarcode for .NET。

什么是 IronBarcode?

IronBarcode 是一个多功能的 .NET 库,可以简化条码的生成读取。 使用IronBarcode,您可以轻松创建各种条形码,包括Code 128和QR码,只需指定要编码的值。 它还支持调整大小自定义。 在读取方面,IronBarcode 可以从图像或 PDF 中提取条码数据,是库存管理和文档跟踪的理想选择。 其用户友好的 API 可确保快速集成到您的项目中,跨平台支持可实现不同 .NET 版本之间的无缝开发。 无论您是经验丰富的开发人员还是初学者,IronBarcode 都能让您高效地处理条形码。

创建新项目

打开 Visual Studio 以创建 ASP.NET Crystal Reports 网站。我正在使用 Visual Studio 2022。 您可以使用任何版本,但请确保安装了特定版本的 Visual Studio Crystal Reports。

![如何在 Crystal Reports 中使用 C# 添加 Barcode:图 1 - 打开 Visual Studio。] 创建一个新的“ASP.NET Crystal Reports 网站”项目。

选择项目名称、地点和目标框架。 单击 "创建 "按钮。 将创建一个新项目,如下所示。

如何在 Crystal Reports 中使用 C# 添加条形码:图 2 - 将创建一个新的项目,带有默认的 CrystalReport1.rpt 页面。

在开始之前,我们需要一个数据库。 让我们创建一个新数据库和一个示例表。

创建新数据库

以下脚本将创建一个新数据库。

CREATE DATABASE ProductDB;
USE [ProductDB]
GO
/****** Object:  Table [dbo].[Products]    Script Date: 3/10/2024 2:57:18 PM**/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Products](
    [Product_ID] [int] NULL,
    [Product_Name] [varchar](100) NULL,
    [Product_Price] [decimal](18, 0) NULL,
    [Product_Barcode] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

让我们在表格中插入数据。 我们需要创建一个 BarCode 并将其保存在产品表中。 因此,我们需要使用 C# 代码插入数据。 我们需要在项目中安装 IronBarcode 库,以便使用其功能创建条形码。

安装 IronBarcode 库

要使用 NuGet 包管理器控制台安装 IronBarcode 库,请按照以下步骤操作:

打开 NuGet 包管理器控制台。 您可以通过查看 -> 其他 Windows -> 软件包管理器控制台找到它。

![如何在 Crystal Reports 中使用 C# 添加条形码:图 3 - 打开 NuGet 包管理器控制台。] 导航到视图菜单 - 其他窗口 - 包管理器控制台](/static-assets/barcode/blog/barcode-in-crystal-report-csharp/barcode-in-crystal-report-csharp-3.webp)

在软件包管理器控制台中,使用以下命令安装 IronBarcode 库:

Install-Package Barcode

按 Enter 键执行命令。

或者,您也可以使用管理解决方案的 NuGet 软件包来安装 IronBarcode 库:

如何在Crystal Reports中使用C#添加条形码:图4 - 通过在NuGet包管理器的搜索栏中搜索“IronBarcode”,使用解决方案管理NuGet包来安装IronBarcode,然后选择项目并点击安装按钮。

等待 NuGet 包管理器下载并安装 IronBarcode 库及其依赖项。 安装完成后,您将在软件包管理器控制台中看到一条确认信息。

现在,IronBarcode 库已安装在您的项目中,您可以开始使用其功能进行条码生成和读取。

生成条形码图像并将其存储到数据库中

我将生成 BarCode 图像,并使用 ADO.NET 将其存储到数据库中。 以下代码将演示用 C# 生成 BarCode 的示例。

static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
static void Main(string [] args)
 {
    var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
    myBarcode.AddBarcodeValueTextBelowBarcode();
    myBarcode.ResizeTo(600, 300);
    SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;");
    SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);
     cn.Open();
     cmd.ExecuteNonQuery();
     cn.Close();
 }
Shared Sub Main(ByVal args() As String)
	Dim myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)
	myBarcode.AddBarcodeValueTextBelowBarcode()
	myBarcode.ResizeTo(600, 300)
	Dim cn As New SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;Integrated Security=SSPI;")
	Dim cmd As New SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn)
	 cn.Open()
	 cmd.ExecuteNonQuery()
	 cn.Close()
End Sub
$vbLabelText   $csharpLabel

上述源代码生成一个条形码,连接到SQL Server数据库,将数据(包括条形码)插入到Products表中,然后关闭数据库连接。

代码解释

1.生成 BarCode

  1. var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);

    这行代码使用BarcodeWriter类的CreateBarcode()方法创建条形码。 条形码是使用 Code 128 编码格式从字符串“77446252”表示的二进制数据生成的。myBarcode 变量现在保存生成的条形码。

  2. AddBarcodeValueTextBelowBarcode() 函数将在条形码下方添加一个文本值。

  3. ResizeTo(600, 300) 将根据提供的尺寸更改条形码图像的高度宽度

  4. 我们可以使用SaveAs()方法将条形码图像保存到文件系统中。

    上述代码将生成以下 BarCode。

    如何在 Crystal Reports 中使用 C# 添加条形码:图 5 - 输出:生成的条形码

2.数据库连接设置

  1. SqlConnection cn = new SqlConnection("Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;");

  2. 这里,建立了与 SQL Server 数据库的连接。 连接字符串指定了服务器(localhost\SQLEXPRESS)、初始目录(数据库名称:ProductDB)和身份验证凭据(用户ID sa和密码123456)。

3.创建 SQL 命令

  1. SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252, 'Pine Apple Small','100', '{myBarcode.BinaryStream}' )", cn);

  2. 一个新的SqlCommand对象被创建。 该命令表示将数据插入产品表的 SQL 查询。

  3. 该查询将值插入表列:77446252,'Pine Apple Small','100',以及生成的条形码的二进制流(myBarcode.BinaryStream)。

4.数据库交互

  1. cn.Open():数据库连接已打开。

  2. cmd.ExecuteNonQuery():执行 SQL 查询,将指定的值插入到 Products 表中。

  3. cn.Close():关闭数据库连接以释放资源。

设计您的 Crystal Reports BarCode 生成器

现在,设计报告布局、添加数据库连接并安排必要的字段。 如果您是新手,请按照以下步骤操作。

  1. 打开字段资源管理器 => 数据库字段 => 数据库专家。

    如何在 Crystal Reports 中使用 C# 添加条形码:图 6 - 将数据库连接添加到报表布局:打开字段资源管理器 - 数据库字段 - 数据库专家。

  2. 展开 创建一个新的连接 => OLE DB(ADO) => 建立新连接

    如何在 Crystal Reports 中使用 C# 添加条形码:图 7 - 展开创建新连接 - OLE DB(ADO) - 创建新连接。

  3. 选择用于 SQL Server 的 Microsoft OLE DB 数据源。 单击下一步。

    如何在 Crystal Reports 中使用 C# 添加条形码:图 8 - 选择 Microsoft OLE DB 数据源用于 SQL Server,然后单击下一步。

  4. 请提供服务器名称、登录凭证和数据库名称,如下所示。

    如何在 Crystal Reports 中使用 C# 添加条形码:图 9 - 指定 SQL Server 名称、登录凭证和数据库名称。 然后点击“下一步”,然后“完成”。

  5. 按下 "下一步 "按钮,将出现一个新窗口,然后单击 "完成"。

  6. 选择要添加的表格。 在这种情况下,请选择产品表。

    ![如何在 Crystal Reports 中使用 C# 添加条形码:图 10 - 添加表:从 ProductDB 数据库中选择 Products 表。 然后点击确定按钮。

  7. 单击 "确定 "按钮。

    我们已经建立了数据库连接。 现在,我们来设置报告布局。

    现在,我添加了一个文本框,文本内容为 "Crystal report C# 中的 BarCode"。 添加文本框,从数据库字段中拖放产品 ID、产品名称、产品价格字段和产品 BarCode,并将其置于文本框中,如下图所示。

    ![如何在 Crystal Reports 中使用 C# 添加条形码:图 11 - 在 C# 中创建 Crystal 报表。 拖放产品 ID、产品名称、产品价格、产品条码字段从数据库字段中。

    查看 Crystal Report Viewer 中的 Crystal Report 预览。

    如何在 Crystal Reports 中使用 C# 添加条形码:图 12 - 在 Crystal Report Viewer 中检查 Crystal Report 预览。

    构建并运行项目。 输出为

    如何在 Crystal Reports 中使用 C# 添加条形码:图 13 - 输出:带有条形码的 Crystal Report

    我没有下载样本数据集包,确保我有正确的数据文件,并着手用 C# 创建一个水晶报表,以实现全面的数据可视化。

    这样,我们就可以在 Crystal Reports 应用程序中创建条形码,而无需下载条形码字体。 同样,我们还可以根据您的要求添加 QR 码。

结论

总之,使用 C# 将 BarCode 集成到 Crystal Reports 中是一种增强数据表示和管理的强大方法。 选择像IronBarcode这样可靠的条码库可以简化流程,提供多功能性和易用性。 IronBarcode 支持各种条码类型、大小调整和自定义功能,在条码生成和读取任务中被证明是一项宝贵的资产。 这里提供的分步指南确保了从选择库到设计 Crystal Report 布局的无缝实施过程。

此外,IronBarcode,解锁附加功能和支持,以进一步提升他们的条形码集成体验。 这种灵活性使IronBarcode成为开发人员的理想选择,无论他们是在开发小规模项目还是企业级应用程序。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
如何在 VB .NET 中生成条形码
下一步 >
在VB.NET中创建条码扫描器教程