在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
水晶報表 是一個強大的報告工具,允許開發人員為其應用程式創建功能豐富的報告。當涉及到包含 條碼 在 Crystal Reports 使用 C#它為數據表示增加了一個新的維度,使得管理和追蹤信息變得更加容易。在本文中,我們將探討使用 C# 將條碼集成到 Crystal Reports 中的步驟。
安裝條碼庫。
生成條碼圖像並將其作為圖像保存到數據庫表格中。
設計Crystal Report的佈局。
建立與數據庫的連接,並選擇必要的表格。
在Crystal Report佈局中包含條碼圖像字段。
在實施之前,選擇一個支持Crystal Reports和C#的條碼庫是很重要的。一個受歡迎的選擇是 IronBarcode 適用於 .NET。
IronBarcode 是一個多功能的 .NET 庫,簡化條碼 生成 和 讀取. 使用 IronBarcode,您可以輕鬆地創建 各種條碼包括 Code 128 和 QR 代碼,只需指定要編碼的值。它還支援 調整大小 和 自定義在讀取方面,IronBarcode 能夠從圖像或 PDF 中提取條碼數據,非常適合庫存管理和文件跟踪。其用户友好的 API 確保能快速集成到您的项目中,跨平台支持讓不同版本的 .NET 無縫開發。無論您是資深開發者還是初學者,IronBarcode 都能讓您高效地處理條碼。
打開 Visual Studio 來建立一個 ASP.NET Crystal Reports 網站。 我正在使用 Visual Studio 2022請確保已安裝對應版本的Visual Studio中的Crystal Reports。
選擇專案名稱、位置和目標框架。點擊「建立」按鈕。將會建立一個如下面所示的新專案。
在我們開始之前,我們需要有一個資料庫。讓我們建立一個新的資料庫和一個樣本表格。
以下腳本將建立一個新資料庫。
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
讓我們將數據插入到這個表格中。我們需要創建一個條碼並將其保存在產品表中。因此,我們需要使用 C# 代碼插入數據。我們需要在項目中安裝 IronBarcode庫以使用其功能來創建條碼。
安裝 IronBarcode 函式庫 使用 NuGet 套件管理器主控台,請按照下列步驟執行:
打開 NuGet 套件管理器主控台。您可以通過導航到 檢視 -> 其他視窗 -> 套件管理器主控台 來找到它。
在套件管理器控制台中,使用以下命令安裝 IronBarcode 庫:
Install-Package Barcode
按 Enter 鍵執行命令。
或者,您可以使用「管理 NuGet 套件 (Packages) 用於解決方案 (for Solution)」來安裝 IronBarcode 庫:
等待 NuGet 套件管理器下載並安裝 IronBarcode 函式庫及其依賴項。安裝完成後,您會在套件管理器控制台看到確認訊息。
現在,IronBarcode 函式庫已安裝在您的專案中,您可以開始使用其條碼生成和讀取功能。
我將使用ADO.NET生成條碼圖片,並將其儲存到數據庫中。以下代碼將展示在C#中生成條碼的示例。
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
上述源代码生成条形码,連接到 SQL Server 資料庫,插入資料 (包括條碼) 插入到產品表中,然後關閉資料庫連接。
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128)這行使用 BarcodeWriter 類別的 CreateBarcode 方法生成條碼。() 方法。條碼是使用代表字串 "77446252" 的二進制資料,並採用 Code 128 編碼格式生成的。myBarcode** 變數現在保存了生成的條碼。
AddBarcodeValueTextBelowBarcode()** 此函數將在條形碼下方添加文字值。
ResizeTo(600, 300)將更改條碼圖像的高度和寬度為提供的尺寸。
以下條碼將由上述代碼生成。
SqlConnection cn = new SqlConnection(Data Source=localhost\SQLEXPRESS;initial catalog=ProductDB ; User ID=sa;Password=123456;);
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products values (77446252,'鳳梨小','100'{myBarcode.BinaryStream}' )", cn);
創建了一個新的 SqlCommand 對象。此命令表示將數據插入到Products表中的SQL查詢。
cn.Open() : 已連接到資料庫。
:執行 SQL 查詢,將指定的值插入 Products 表中。():資料庫連結已關閉以釋放資源。
現在,設計報表佈局,添加數據庫連接,並排列必要的字段。如果您是初學者,請按照以下步驟操作。
打開字段瀏覽器 => 數據庫字段 => 數據庫專家。
展開 "Create a new Connection" => OLE DB(ADO) 建立新連接
選擇 Microsoft OLE DB Data Source for SQL Server。點擊下一步。
提供伺服器名稱、登入憑證及資料庫名稱,如下所示。
按下下一步按鈕,新的視窗會出現,然後點擊完成。
選擇你想要添加的表格。在這種情況下,選擇產品表。
我們已建立資料庫連接。現在,讓我們設置報表佈局。
現在,我已添加一個文字框,內有文字 "Barcode in Crystal report C#"。添加了文字框,拖放產品ID、產品名稱、產品價格字段、產品條碼從資料庫字段,並將它們放置在框內,如下所示。
在 Crystal Report Viewer 中查看 Crystal Report 預覽。
建置並執行專案。輸出結果如下:
我尚未下載樣本數據包,以確保我擁有正確的數據文件,並著手在 C# 中創建 Crystal Report 以進行全面的數據可視化。
這樣,我們可以在 Crystal Reports 應用程式中創建條形碼而無需下載條形碼字體。同樣,我們也可以根據您的需求添加 QR 碼。
總而言之,使用 C# 將條碼整合到 Crystal Reports 中是一種增強數據表示和管理的強大方法。選擇一個可靠的條碼庫如 IronBarcode 簡化了流程,提供了多樣性和易用性。IronBarcode 支持各種條碼類型、調整大小和自訂功能,在條碼生成和讀取任務中證明了其價值。這裡提供的分步指南確保了從選擇庫到設計 Crystal 報表佈局的無縫實施過程。
此外, IronBarcode,解鎖額外功能和支援,進一步提升他們的條碼整合體驗。這種靈活性使IronBarcode成為開發人員的強效選擇,無論他們是在進行小規模項目還是企業級應用程序。