C#を使用してCrystal Reportsにバーコードを追加する方法
Crystal Reportsは、開発者がアプリケーションのために機能豊富なレポートを作成できる強力なレポートツールです。 バーコードをC#を使用してCrystal Reportsに含める場合、データの表現に新しい次元が追加され、情報の管理と追跡が容易になります。 この記事では、C#を使用してCrystal Reportsにバーコードを統合する手順について探ります。
C#を使用してCrystal Reportsにバーコードを追加する方法
- バーコードライブラリをインストールします。
- バーコード画像を生成し、それをデータベーステーブルに画像として保存します。
- Crystal Reportのレイアウトを設計します。
- データベースに接続し、必要なテーブルを選択します。
- Crystal Reportのレイアウトにバーコード画像フィールドを含めます。
- プロジェクトをビルドして実行します。
バーコードライブラリを選ぶ
実装に取りかかる前に、Crystal ReportsとC#をサポートするバーコードライブラリを選ぶことが重要です。 人気のある選択肢の一つが.NET用のIronBarcodeです。
IronBarcodeとは
IronBarcodeは、バーコードの生成と読取りを簡素化する多用途の.NETライブラリです。 IronBarcodeを使用することで、エンコードする値を指定することで Code 128やQRコードを含む様々なバーコードを簡単に作成できます。 また、リサイズやカスタマイズもサポートしています。 読み取りの側面では、IronBarcodeは画像やPDFからバーコードデータを抽出でき、在庫管理や文書追跡に最適です。 その使いやすいAPIはプロジェクトへの迅速な統合を保証し、クロスプラットフォームのサポートは異なる.NETバージョン間でのシームレスな開発を可能にします。 経験豊富な開発者でも初心者でも、IronBarcodeは効率的にバーコードを扱う力を与えます。
新しいプロジェクトを作成する
ASP.NET Crystal Reports Web Siteを作成するためにVisual Studioを開きます。私は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このテーブルにデータを挿入します。 バーコードを生成し、それをProductテーブルに保存します。 したがって、C#コードを使用してデータを挿入し、プロジェクトにIronBarcodeライブラリをインストールしてバーコードを作成する機能を使用する必要があります。
IronBarcodeライブラリをインストールする
NuGetパッケージマネージャーコンソールを使用してIronBarcodeライブラリをインストールするため、次の手順に従います:
NuGetパッケージマネージャーコンソールを開きます。 それを表示するには、[表示] -> [その他のウィンドウ] -> [パッケージマネージャーコンソール] に移動して見つけることができます。

パッケージマネージャーコンソールで、IronBarcodeライブラリをインストールするには次のコマンドを使用します:
Install-Package BarCode
エンターキーを押してコマンドを実行します。
または、ソリューション用のNuGetパッケージの管理を使用してIronBarcodeライブラリをインストールすることもできます:

NuGetパッケージマネージャーがIronBarcodeライブラリとその依存関係をダウンロードしてインストールするのを待ちます。 インストールが完了すると、パッケージマネージャーコンソールに確認メッセージが表示されます。
これで、IronBarcodeライブラリがプロジェクトにインストールされ、バーコードの生成および読み取りにその機能を使用することができます。
バーコード画像を生成しデータベースに保存する
ADO.NETを使用して、バーコード画像を生成し、データベースに保存します。 次のコードは、C#でのバーコード生成の例を示しています。
using System;
using System.Data.SqlClient;
using IronBarCode;
class Program
{
static void Main(string[] args)
{
// Create a barcode from a string value using Code128 format.
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
// Add the barcode value text below the barcode image.
myBarcode.AddBarcodeValueTextBelowBarcode();
// Resize the barcode image.
myBarcode.ResizeTo(600, 300);
// SQL connection to the SQL Server database.
using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
{
// SQL command to insert the barcode into the Products table.
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
// Add parameter for the barcode binary data.
cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);
// Open the connection, execute the query, close the connection.
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
}
}using System;
using System.Data.SqlClient;
using IronBarCode;
class Program
{
static void Main(string[] args)
{
// Create a barcode from a string value using Code128 format.
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);
// Add the barcode value text below the barcode image.
myBarcode.AddBarcodeValueTextBelowBarcode();
// Resize the barcode image.
myBarcode.ResizeTo(600, 300);
// SQL connection to the SQL Server database.
using (SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;"))
{
// SQL command to insert the barcode into the Products table.
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', @Barcode)", cn);
// Add parameter for the barcode binary data.
cmd.Parameters.AddWithValue("@Barcode", myBarcode.BinaryStream);
// Open the connection, execute the query, close the connection.
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
}
}
}コードの説明
1. バーコード生成
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);- この行は、
BarcodeWriterクラスのCreateBarcode()メソッドを使用してバーコードを作成します。 バーコードは、文字列"77446252"によって表されるデータから、Code 128エンコーディング形式を使用して生成されます。myBarcode変数には、生成されたバーコードが保持されます。
- この行は、
AddBarcodeValueTextBelowBarcode()- この関数は、バーコード値の説明テキストをバーコードの下に追加します。
ResizeTo(600, 300)- バーコード画像の高さと幅を指定の寸法に調整します。
SaveAs()メソッドを使用して、バーコード画像をファイルシステムに保存できます。
上記のコードから生成されるバーコードは次の通りです:

2. データベース接続設定
SqlConnection cn = new SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;");- SQL Serverデータベースへの接続を確立します。 接続文字列には、サーバー(
localhost\SQLEXPRESS)、初期カタログ(データベース名:ProductDB)、および認証情報(user ID saおよびpassword 123456)が指定されます。
- SQL Serverデータベースへの接続を確立します。 接続文字列には、サーバー(
3. SQLコマンド作成
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', '{myBarcode.BinaryStream}' )", cn);- 新しい
SqlCommandオブジェクトを作成します。 このコマンドは、Productsテーブルにデータを挿入するSQLクエリを表します。 - クエリは、テーブルの列:
77446252、'Pine Apple Small'、'100'、および生成されたバーコードのバイナリストリーム(myBarcode.BinaryStream)に値を挿入します。
- 新しい
4. データベースとのやり取り
- cn.Open();:データベースへの接続が開かれます。
- cmd.ExecuteNonQuery();: SQL クエリが実行され、指定された値が Products テーブルに挿入されます。
- cn.Close();:データベース接続を閉じてリソースを解放します。
Crystal Reportsバーコード生成器を設計する
次に、レポートのレイアウトを設計し、データベース接続を追加し、必要なフィールドを配置します。 もしこれが初めての場合、以下の手順に従ってください。
- フィールドエクスプローラを開く => データベースフィールド => データベースエキスパート。

- 新しい接続を作成 => OLE DB(ADO) => 新しい接続を作成します。

- Microsoft OLE DB Data Source for SQL Serverを選択し、次へをクリックします。

下記のようにサーバー名、ログイン資格情報、データベース名を提供します。

- 次へボタンを押すと新しいウィンドウが表示され、完了をクリックします。
追加するテーブルを選択します。 この場合、Productsテーブルを選択します。

Crystal Report ViewerでCrystal Report Previewを確認します。

プロジェクトをビルドして実行します。 出力は以下の通りです。

サンプルデータセットパッケージをダウンロードしておらず、正しいデータファイルを確保し、C#での包括的なデータビジュアライゼーションのためにCrystal Reportを作成しました。
このようにして、Crystal Reportsアプリケーションでバーコードフォントをダウンロードすることなくバーコードを作成できます。 同様に、必要に応じてQRコードも追加できます。
結論
結論として、C#を使用してCrystal Reportsにバーコードを統合することは、データ表現と管理を強化する強力な方法です。 信頼性のあるバーコードライブラリであるIronBarcodeを選択すると、プロセスが簡素化され、多用途性と使いやすさを提供します。 IronBarcodeは、様々なバーコードタイプ、リサイズ、カスタマイズ機能のサポートにより、バーコード生成および読取りタスクで貴重な資産であることを証明します。 ここで提供されたステップバイステップガイドは、ライブラリの選択からCrystal Reportレイアウトのデザインまで、シームレスな実装プロセスを保証します。
さらに、IronBarcodeは、バーコード統合体験を向上させるために追加の機能とサポートを開発者に提供します。 この柔軟性により、IronBarcodeは小規模プロジェクトやエンタープライズレベルのアプリケーションのいずれを開発する場合でも、開発者にとって説得力がある選択肢となります。
よくある質問
C# を使用して Crystal Reports にバーコードを統合するにはどうすれば良いですか?
C# を使用して Crystal Reports にバーコードを統合するためには、IronBarcode を使用してバーコード画像を生成できます。まず、IronBarcode ライブラリをインストールし、バーコード画像を生成してデータベースに保存し、次に Crystal Reports を使用してレイアウトを設計し、バーコード画像を組み込みます。
C# でバーコードを生成するプロセスは何ですか?
IronBarcode を使用して、C# でバーコードを生成するには、バーコードオブジェクトを作成し、サイズ変更やテキストの追加などのオプションでカスタマイズし、その後、レポートで使用するために画像をファイルまたはデータベースに保存します。
C# でバーコード画像をデータベースに保存するにはどうすれば良いですか?
IronBarcode でバーコード画像を生成した後、画像をバイナリ形式に変換し、ADO.NET を使用してデータベーステーブルに挿入することで、データベースに保存できます。
C# でのバーコード生成に IronBarcode を使用する利点は何ですか?
IronBarcode は、さまざまなバーコードフォーマットをサポートし、カスタマイズを可能にし、簡単な API を提供してアプリケーションへのクイックな統合を可能にし、在庫管理やドキュメント追跡を強化します。この点で C# でのバーコード生成に有益です。
Crystal Reports でバーコード統合のためにデータベース接続を設定するにはどうすれば良いですか?
Crystal Reports でデータベース接続を設定するには、Field Explorer を使って Database Field に移動し、Database Expert に入り、新しい接続を作成して、OLE DB(ADO) を選択し、必要なサーバーの詳細で接続を設定します。
IronBarcode は Crystal Reports で QR コードの生成に使用できますか?
はい、IronBarcode は他のバーコードタイプと共に QR コードを生成するために使用でき、Crystal Reports に異なるバーコードフォーマットを統合するための多用途な選択肢となります。
バーコードを使用して Crystal Report レイアウトを設計する手順は何ですか?
バーコードを使用した Crystal Report レイアウトの設計は、レポートテンプレートを作成し、データベース接続を確立し、バーコード画像フィールドを追加し、バーコードデータを効果的に取り入れるためにレポートをフォーマットします。
IronBarcode は C# プロジェクトの報告機能をどのように強化しますか?
IronBarcode は、柔軟で使いやすいソリューションを提供してバーコードを生成および統合することで、報告機能を強化し、データの視覚化と管理を改善します。







