Jak dodać kod kreskowy w Crystal Reports za pomocą C#
Crystal Reports to potężne narzędzie do tworzenia raportów, które pozwala programistom tworzyć bogate w funkcje raporty dla swoich aplikacji. Jeśli chodzi o włączanie kodów kreskowych w Crystal Reports przy użyciu C#, dodaje to nowy wymiar do reprezentacji danych, ułatwiając zarządzanie i śledzenie informacji. W tym artykule zbadamy kroki integracji kodów kreskowych w Crystal Reports przy użyciu C#.
How to Add a Barcode in Crystal Reports using C
- Zainstaluj bibliotekę kodów kreskowych.
- Wygeneruj obraz kodu kreskowego i zapisz go jako obraz w tabeli bazy danych.
- Zaprojektuj układ raportu Crystal.
- Ustanów połączenie z bazą danych i wybierz niezbędną tabelę.
- Uwzględnij pole obrazu kodu kreskowego w układzie raportu Crystal.
- Zbuduj i uruchom projekt.
Wybierz bibliotekę kodów kreskowych
Przed rozpoczęciem implementacji ważne jest, aby wybrać bibliotekę kodów kreskowych, która obsługuje Crystal Reports i C#. Jednym z popularnych wyborów jest IronBarcode dla .NET.
Czym jest IronBarcode
IronBarcode to wszechstronna biblioteka .NET, która upraszcza generowanie i czytanie kodów kreskowych. Za pomocą IronBarcode możesz bezproblemowo tworzyć różne kody kreskowe, w tym Code 128 i kody QR, poprzez określenie wartości do zakodowania. Obsługuje również zmianę rozmiaru i dostosowywanie. Z perspektywy odczytu IronBarcode może wyodrębniać dane kodów kreskowych z obrazów lub PDF, co czyni go idealnym rozwiązaniem do zarządzania zapasami i śledzenia dokumentów. Przyjazne użytkownikowi API zapewnia szybką integrację z projektami, a wsparcie wieloplatformowe pozwala na płynne tworzenie na różnych wersjach .NET. Niezależnie od tego, czy jesteś doświadczonym programistą, czy początkującym, IronBarcode umożliwia efektywną pracę z kodami kreskowymi.
Utwórz nowy projekt
Otwórz Visual Studio, aby stworzyć stronę internetową ASP.NET Crystal Reports. Używam Visual Studio 2022. Możesz użyć dowolnego, ale upewnij się, że Crystal Reports dla tej wersji Visual Studio jest zainstalowany.

Przed rozpoczęciem musimy mieć bazę danych. Utwórzmy nową bazę danych i przykładową tabelę.
Utwórz nową bazę danych
Poniższy skrypt utworzy nową bazę danych.
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
Wstawmy dane do tej tabeli. Utworzymy kod kreskowy i zapiszemy go w tabeli Product. W związku z tym musimy wstawić dane, używając kodu C# i zainstalować bibliotekę IronBarcode w naszym projekcie, aby używać jej funkcji do tworzenia kodów kreskowych.
Zainstaluj bibliotekę IronBarcode
Aby zainstalować bibliotekę IronBarcode, używając konsoli Menedżera pakietów NuGet, wykonaj następujące kroki:
Otwórz konsolę Menedżera pakietów NuGet. Możesz ją znaleźć, przechodząc do Widok -> Inne okna -> Konsola Menedżera pakietów.

W konsoli Menedżera pakietów użyj następującego polecenia, aby zainstalować bibliotekę IronBarcode:
Install-Package BarCode
Naciśnij klawisz Enter, aby wykonać polecenie.
Alternatywnie, możesz zainstalować bibliotekę IronBarcode, używając zarządzania pakietami NuGet w rozwiązaniu:

Poczekaj, aż konsola Menedżera pakietów NuGet pobierze i zainstaluje bibliotekę IronBarcode oraz jej zależności. Po zakończeniu instalacji zobaczysz wiadomość potwierdzającą w konsoli Menedżera pakietów.
Teraz biblioteka IronBarcode jest zainstalowana w twoim projekcie i możesz zacząć używać jej funkcji do generowania i odczytu kodów kreskowych.
Generowanie obrazów kodów kreskowych i przechowywanie ich w bazie danych
Będziemy generować obrazy kodów kreskowych i przechowywać je w bazie danych za pomocą ADO.NET. Poniższy kod demonstruje przykład generowania kodu kreskowego w 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
Wyjaśnienie kodu
1. Generowanie kodu kreskowego
-
var myBarcode = BarcodeWriter.CreateBarcode("77446252", BarcodeWriterEncoding.Code128);- Ta linia tworzy kod kreskowy używając metody
CreateBarcode()klasyBarcodeWriter. Kod kreskowy jest generowany z danych reprezentowanych przez ciąg "77446252" z użyciem formatu kodowania Code 128. ZmiennejmyBarcodeprzypisany jest teraz wygenerowany kod kreskowy.
- Ta linia tworzy kod kreskowy używając metody
-
AddBarcodeValueTextBelowBarcode()- Ta funkcja dodaje tekst opisujący wartość kodu kreskowego poniżej kodu.
-
ResizeTo(600, 300)- Dostosowuje wysokość i szerokość obrazu kodu kreskowego do podanych wymiarów.
- Możesz użyć metody
SaveAs()do zapisywania obrazów kodów kreskowych w systemie plików.
Następujący kod kreskowy zostanie wygenerowany z powyższego kodu:

2. Konfiguracja połączenia z bazą danych
-
SqlConnection cn = new SqlConnection("Data Source=localhost\\SQLEXPRESS;Initial Catalog=ProductDB;User ID=sa;Password=123456;Integrated Security=SSPI;");- Ustanawia połączenie z bazą danych SQL Server. Ciąg połączenia określa serwer (
localhost\\SQLEXPRESS), początkowy katalog (nazwa bazy danych:ProductDB) oraz dane uwierzytelniające (user ID saipassword 123456).
- Ustanawia połączenie z bazą danych SQL Server. Ciąg połączenia określa serwer (
3. Tworzenie polecenia SQL
-
SqlCommand cmd = new SqlCommand($"INSERT INTO dbo.Products VALUES (77446252, 'Pine Apple Small', '100', '{myBarcode.BinaryStream}' )", cn);- Tworzy nowy obiekt
SqlCommand. To polecenie reprezentuje zapytanie SQL do wstawienia danych do tabeli Products. - Zapytanie wstawia wartości do kolumn tabeli:
77446252,'Pine Apple Small','100'oraz strumień binarny wygenerowanego kodu kreskowego (myBarcode.BinaryStream).
- Tworzy nowy obiekt
4. Interakcja z bazą danych
cn.Open();: Połączenie z bazą danych zostaje otwarte.cmd.ExecuteNonQuery();: Zapytanie SQL jest wykonywane, wstawiając określone wartości do tabeli Products.cn.Close();: Zamyka połączenie z bazą danych, aby zwolnić zasoby.
Zaprojektuj swój generator kodów kreskowych w Crystal Reports
Teraz zaprojektuj układ raportu, dodaj połączenia bazy danych i ułóż niezbędne pola. Jeśli jesteś w tym nowy, wykonaj poniższe kroki.
-
Otwórz Eksplorator pól => Pole bazy danych => Ekspert bazy danych.

-
Rozwiń Utwórz nowe połączenie => OLE DB(ADO) => Utwórz nowe połączenie.

-
Wybierz Źródło danych OLE DB Microsoft dla SQL Server i kliknij Dalej.

-
Podaj nazwę serwera, dane logowania i nazwę bazy danych, jak pokazano poniżej.

- Naciśnij przycisk Dalej, pojawi się nowe okno, a następnie kliknij Zakończ.
-
Wybierz tabelę, którą chcesz dodać. W tym przypadku wybierz tabelę Products.

Zobacz podgląd raportu Crystal w przeglądarce raportów Crystal.

Zbuduj i uruchom projekt. Oto wynik:

Nie pobrałem pakietu przykładowego zestawu danych, upewniając się, że miałem odpowiedni plik danych, i przystąpiłem do stworzenia raportu Crystal w C# dla kompleksowej wizualizacji danych.
W ten sposób możemy utworzyć kod kreskowy w aplikacji Crystal Reports, bez pobierania czcionki kodu kreskowego. Podobnie możemy również dodać kod QR zgodnie z twoimi wymaganiami.
Wnioski
Podsumowując, integracja kodów kreskowych w raportach Crystal przy użyciu C# jest potężnym sposobem na zwiększenie reprezentacji danych i zarządzania nimi. Wybór niezawodnej biblioteki kodów kreskowych, takiej jak IronBarcode, upraszcza proces, oferując wszechstronność i łatwość użytkowania. IronBarcode, ze swoim wsparciem dla różnych typów kodów kreskowych, zmiany rozmiaru i funkcji dostosowywania, okazuje się być wartościowym narzędziem w zadaniach generowania i odczytywania kodów kreskowych. Podany tutaj przewodnik krok po kroku zapewnia bezproblemowy proces wdrażania, od wyboru biblioteki po projektowanie układu raportu Crystal.
Ponadto IronBarcode oferuje programistom możliwość odblokowania dodatkowych funkcji i wsparcia w celu zwiększenia doświadczenia z integracją kodów kreskowych. Ta elastyczność sprawia, że IronBarcode jest przekonującym wyborem dla programistów, niezależnie od tego, czy pracują nad projektami na małą skalę, czy aplikacjami na poziomie przedsiębiorstwa.
Często Zadawane Pytania
Jak mogę zintegrować kody kreskowe z Crystal Reports za pomocą C#?
Aby zintegrować kody kreskowe z Crystal Reports za pomocą C#, możesz użyć IronBarcode do generowania obrazów kodów kreskowych. Najpierw zainstaluj bibliotekę IronBarcode, wygeneruj obraz kodu kreskowego, zapisz go w bazie danych, a następnie użyj Crystal Reports do zaprojektowania układu i uwzględnienia obrazu kodu kreskowego.
Jaki jest proces generowania kodu kreskowego w C#?
Korzystając z IronBarcode, możesz wygenerować kod kreskowy w C# poprzez utworzenie obiektu kodu kreskowego, dostosowanie go za pomocą opcji takich jak zmiana rozmiaru i dodawanie tekstu, a następnie zapisanie obrazu do pliku lub bazy danych do użycia w raportach.
Jak zapisać obraz kodu kreskowego do bazy danych w C#?
Po wygenerowaniu obrazu kodu kreskowego z IronBarcode, możesz go zapisać w bazie danych, konwertując obraz do formatu binarnego i używając ADO.NET do wstawienia go do tabeli bazy danych.
Jakie są korzyści z używania IronBarcode do generowania kodów kreskowych w C#?
IronBarcode jest korzystny do generowania kodów kreskowych w C#, ponieważ obsługuje różne formaty kodów kreskowych, pozwala na dostosowanie i oferuje prosty interfejs API do szybkiej integracji z aplikacjami, poprawiając zarówno inwentaryzację, jak i śledzenie dokumentów.
Jak mogę skonfigurować połączenie z bazą danych w Crystal Reports do integracji kodów kreskowych?
Aby skonfigurować połączenie z bazą danych w Crystal Reports, użyj Eksploratora Pól, aby przejść do Pola Bazy Danych, następnie przejdź do Eksperta Bazy Danych, rozwiń Utwórz nowe Połączenie, wybierz OLE DB(ADO) i skonfiguruj połączenie z niezbędnymi szczegółami serwera.
Czy można użyć IronBarcode do generowania kodów QR w Crystal Reports?
Tak, IronBarcode może służyć do generowania kodów QR, a także innych typów kodów kreskowych, co czyni go wszechstronnym rozwiązaniem do integracji różnych formatów kodów kreskowych z Crystal Reports.
Jakie kroki należy wykonać, aby zaprojektować układ raportu Crystal Report z kodami BarCode?
Projektowanie układu raportu Crystal Report z kodami kreskowymi obejmuje utworzenie szablonu raportu, nawiązanie połączenia z bazą danych, dodanie pola obrazu kodu kreskowego oraz sformatowanie raportu w celu efektywnego włączenia danych kodu kreskowego.
W jaki sposób IronBarcode rozszerza możliwości raportowania w projektach C#?
IronBarcode rozszerza możliwości raportowania w projektach C#, zapewniając elastyczne i łatwe w użyciu rozwiązanie do generowania i integracji kodów kreskowych, co poprawia wizualizację danych i zarządzanie nimi w raportach.




