フッターコンテンツにスキップ
IRONBARCODEの使用

C#を使用してCrystal Reportsにバーコードを追加する方法

Crystal Reportsは、開発者がアプリケーションのために機能豊富なレポートを作成できる強力なレポートツールです。 When it comes to including barcodes in Crystal Reports using C#, it adds a new dimension to data representation, making it easier to manage and track information. この記事では、C#を使用してCrystal Reportsにバーコードを統合する手順について探ります。

C#を使用してCrystal Reportsにバーコードを追加する方法

  1. バーコードライブラリをインストールします。
  2. バーコード画像を生成し、それをデータベーステーブルに画像として保存します。
  3. Crystal Reportのレイアウトを設計します。
  4. データベースに接続し、必要なテーブルを選択します。
  5. Crystal Reportのレイアウトにバーコード画像フィールドを含めます。
  6. プロジェクトをビルドして実行します。

バーコードライブラリを選ぶ

実装に取りかかる前に、Crystal ReportsとC#をサポートするバーコードライブラリを選ぶことが重要です。 人気のある選択肢の一つが.NET用のIronBarcodeです。

IronBarcodeとは

IronBarcode is a versatile .NET library that simplifies barcode generation and 読取りを簡素化する多用途の.NETライブラリです。 IronBarcodeを使用することで、エンコードする値を指定することで Code 128やQRコードを含む様々なバーコードを簡単に作成できます。 It also supports resizing and customization. 読み取りの側面では、IronBarcodeは画像やPDFからバーコードデータを抽出でき、在庫管理や文書追跡に最適です。 その使いやすいAPIはプロジェクトへの迅速な統合を保証し、クロスプラットフォームのサポートは異なる.NETバージョン間でのシームレスな開発を可能にします。 経験豊富な開発者でも初心者でも、IronBarcodeは効率的にバーコードを扱う力を与えます。

新しいプロジェクトを作成する

ASP.NET Crystal Reports Web Siteを作成するためにVisual Studioを開きます。私はVisual Studio 2022を使用しています。 どれでも使用できますが、該当バージョンのVisual Studio用のCrystal Reportsがインストールされていることを確認してください。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図1 - Visual Studioを開きます。 ASP.NET Crystal Reports Web Siteプロジェクトを新規作成します。

プロジェクト名、場所、ターゲットフレームワークを選択します。 作成ボタンをクリックします。 以下のように新しいプロジェクトが作成されます。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図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

このテーブルにデータを挿入します。 バーコードを生成し、それをProductテーブルに保存します。 したがって、C#コードを使用してデータを挿入し、プロジェクトにIronBarcodeライブラリをインストールしてバーコードを作成する機能を使用する必要があります。

IronBarcodeライブラリをインストールする

NuGetパッケージマネージャーコンソールを使用してIronBarcodeライブラリをインストールするため、次の手順に従います:

NuGetパッケージマネージャーコンソールを開きます。 それを表示するには、[表示] -> [その他のウィンドウ] -> [パッケージマネージャーコンソール] に移動して見つけることができます。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図3 - NuGetパッケージマネージャーコンソールを開きます。 表示メニュー - その他のウィンドウ - パッケージマネージャーコンソールに移動します

パッケージマネージャーコンソールで、IronBarcodeライブラリをインストールするには次のコマンドを使用します:

Install-Package BarCode

エンターキーを押してコマンドを実行します。

または、ソリューション用のNuGetパッケージの管理を使用してIronBarcodeライブラリをインストールすることもできます:

C#を使用してCrystal Reportsにバーコードを追加する方法: 図4 - IronBarcodeを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();
        }
    }
}
Imports System
Imports System.Data.SqlClient
Imports IronBarCode

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a barcode from a string value using Code128 format.
		Dim 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 cn As 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.
			Dim cmd As 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()
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

コードの説明

1. バーコード生成

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

    • この行は、BarcodeWriterクラスのCreateBarcode()メソッドを使用してバーコードを作成します。 バーコードは、文字列"77446252"によって表されるデータから、Code 128エンコーディング形式を使用して生成されます。 myBarcode変数には、生成されたバーコードが保持されます。
  2. AddBarcodeValueTextBelowBarcode()

    • この関数は、バーコード値の説明テキストをバーコードの下に追加します。
  3. ResizeTo(600, 300)

    • バーコード画像の高さと幅を指定の寸法に調整します。
  4. SaveAs()メソッドを使用して、バーコード画像をファイルシステムに保存できます。

上記のコードから生成されるバーコードは次の通りです:

C#を使用してCrystal Reportsにバーコードを追加する方法: 図5 - 出力: 生成されたバーコード

2. データベース接続設定

  1. 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)が指定されます。

3. SQLコマンド作成

  1. 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. データベースとのやり取り

  1. cn.Open();: データベースへの接続を開きます。
  2. cmd.ExecuteNonQuery();: SQLクエリを実行し、指定された値をProductsテーブルに挿入します。
  3. cn.Close();: 資源を解放するためにデータベース接続を閉じます。

Crystal Reports バーコードジェネレーターをデザインします

次に、レポートのレイアウトを設計し、データベース接続を追加し、必要なフィールドを配置します。 もしこれが初めての場合、以下の手順に従ってください。

  1. フィールドエクスプローラを開く => データベースフィールド => データベースエキスパート。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図6 - レポートレイアウトにデータベース接続を追加します:フィールドエクスプローラを開く - データベースフィールド - データベースエキスパート。

  1. 新しい接続を作成 => OLE DB(ADO) => 新しい接続を作成を展開します。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図7 - 新しい接続を作成 - OLE DB(ADO) - 新しい接続を作成を展開します。

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

C#を使用してCrystal Reportsにバーコードを追加する方法: 図8 - Microsoft OLE DB Data Source for SQL Serverを選択し、次へをクリックします。

  1. 下に示されているように、サーバー名、ログイン認証情報、データベース名を入力します。

    C#を使用してCrystal Reportsにバーコードを追加する方法: 図9 - SQLサーバー名、ログイン認証情報、データベース名を指定します。 その後次へをクリックし、完了をクリックします。

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

!C#を使用してCrystal Reportsにバーコードを追加する方法: 図10 - テーブルを追加します:ProductDBデータベースからProductsテーブルを選択します。 その後、OKボタンをクリックします。

  1. OKボタンをクリックします。

データベース接続を設定しました。 次に、レポートレイアウトを設定しましょう。

今、私は"Barcode in Crystal report C#"というテキストを含むテキストボックスを追加しました。 私はテキストボックスを追加し、データベースフィールドからProduct ID、Product Name、Product Price Field、Product Barcodeをドラッグ&ドロップして箱の内部に置きました。

C#を使用してCrystal Reportsにバーコードを追加する方法: 図11 - C#でCrystal Reportを作成します。 データベースフィールドからProduct ID、Product Name、Product Price、Product Barcodeフィールドをドラッグ&ドロップします。

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

C#を使用してCrystal Reportsにバーコードを追加する方法: 図12 - Crystal Report ViewerでCrystal Report Previewを確認します。

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

C#を使用してCrystal Reportsにバーコードを追加する方法: 図13 - 出力: バーコード付きのCrystal Report

サンプルデータセットパッケージをダウンロードしておらず、正しいデータファイルを確保し、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 は、柔軟で使いやすいソリューションを提供してバーコードを生成および統合することで、報告機能を強化し、データの視覚化と管理を改善します。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。