Wygeneruj kod kreskowy w Excelu przy użyciu C#

Excel to aplikacja arkusz kalkulacyjny opracowana i opublikowana przez firmę Microsoft. Jest najczęściej używany do przechowywania, organizowania i śledzenia zestawów danych z formułami i funkcjami. W niektórych przypadkach może być konieczne wygenerowanie i dodanie kodów kreskowych w plikach Excel w celu osadzenia określonych informacji. Możemy dodawać czytelne maszynowo obrazy kodów kreskowych do plików XLSX lub XLS programowo w aplikacjach .NET. W tym artykule dowiemy się, jak wygenerować kod kreskowy w Excelu przy użyciu języka C#.

Artykuł obejmie następujące tematy:

C# API do generowania kodu kreskowego w Excelu

Aby dodać kody kreskowe do arkuszy kalkulacyjnych Excel, wykonamy dwuetapową procedurę. Będziemy używać API Aspose.Cells for .NET do tworzenia lub ładowania pliku Excel. Klasa Workbook API umożliwia utworzenie nowego skoroszytu programu Excel lub załadowanie istniejącego pliku programu Excel do dalszego przetwarzania. Metoda Save() tej klasy zapisuje skoroszyt w podanej ścieżce pliku. Interfejs API zapewnia również klasę Worksheet do obsługi wszystkich operacji na poziomie arkusza.

Wygenerujemy i dodamy obraz kodu kreskowego do arkusza Excel za pomocą API Aspose.BarCode for .NET. Zapewnia klasę BarcodeGenerator do generowania kodu kreskowego określonego EncodeType. Metoda Save() tej klasy zapisuje obraz kodu kreskowego do strumienia w określonym formacie. Zapewnia wyliczenie BarCodeImageFormat w celu określenia formatów zapisu. API udostępnia również klasę BarCodeReader do odczytu kodu kreskowego z obrazów.

Proszę pobrać biblioteki DLL interfejsów API lub zainstalować je za pomocą NuGet.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells

Utwórz arkusz kalkulacyjny Excel i dodaj kod kreskowy w C#

Możemy utworzyć nowy arkusz kalkulacyjny Excel i dodać obraz kodu kreskowego do programu Excel, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy BarcodeGenerator z EncodeType i tekstem do zakodowania jako argumentami.
  2. Następnie utwórz instancję obiektu strumienia pamięci.
  3. Następnie wywołaj metodę Save(), aby zapisać obraz kodu kreskowego w strumieniu pamięci.
  4. Następnie utwórz instancję klasy Workbook.
  5. Następnie dodaj nowy arkusz roboczy do WorksheetCollection skoroszytu.
  6. Następnie dodaj obraz do PictureCollection arkusza roboczego z obiektem strumienia i pozycją obrazu jako argumentami.
  7. Na koniec wywołaj metodę Save(). Jako argument przyjmuje wyjściową ścieżkę pliku XLSX.

Poniższy przykład kodu demonstruje, jak utworzyć nowy arkusz kalkulacyjny programu Excel i dodać obraz kodu kreskowego przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak dodać kod kreskowy do nowego pliku programu Excel.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego do strumienia pamięci
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz instancję klasy programu Excel, która reprezentuje plik programu Excel
Workbook workbook = new Workbook();

// Dodanie nowego arkusza
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// Metoda Add przyjmuje następujące parametry:
// Indeks lewego górnego rzędu, indeks lewego górnego rzędu.
// Indeks lewej górnej kolumny, indeks lewej górnej kolumny.
// Plik graficzny.
sheet.Pictures.Add(5, 5, ms);

// Zapisz plik
workbook.Save(dataDir + "sample.xlsx");
Utwórz arkusz kalkulacyjny programu Excel i dodaj kod kreskowy za pomocą języka C#.

Utwórz arkusz kalkulacyjny programu Excel i dodaj kod kreskowy za pomocą języka C#.

Dodaj kod kreskowy do istniejącego pliku Excel w C#

Możemy również dodać obraz kodu kreskowego do dowolnego arkusza istniejącego skoroszytu programu Excel, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy BarcodeGenerator z EncodeType i tekstem do zakodowania jako argumentami.
  2. Następnie utwórz instancję obiektu strumienia pamięci.
  3. Następnie wywołaj metodę Save(), aby zapisać obraz kodu kreskowego w strumieniu pamięci.
  4. Następnie załaduj istniejący plik programu Excel przy użyciu klasy Workbook.
  5. Następnie przejdź do arkusza roboczego według jego indeksu.
  6. Następnie dodaj obraz do PictureCollection przy użyciu metody Add() z obiektem strumienia i pozycją obrazu jako argumentami.
  7. Na koniec wywołaj metodę Save(). Jako argument przyjmuje wyjściową ścieżkę pliku XLSX.

Poniższy przykład kodu demonstruje, jak dodać obraz kodu kreskowego do istniejącego pliku programu Excel przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak dodać kod kreskowy do istniejącego pliku programu Excel.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego do strumienia pamięci
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz instancję klasy programu Excel, która reprezentuje plik programu Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Uzyskaj dostęp do arkusza według jego indeksu
Worksheet sheet = workbook.Worksheets[0];

// Metoda Add przyjmuje następujące parametry:
// Indeks lewego górnego rzędu, indeks lewego górnego rzędu.
// Indeks lewej górnej kolumny, indeks lewej górnej kolumny.
// Plik graficzny.
sheet.Pictures.Add(5, 5, ms);

// Zapisz plik
workbook.Save(dataDir + "sample_out.xlsx");

Dodaj kod QR do pliku Excel w C#

Podobnie możemy również dodać kod QR do pliku Excel, wykonując czynności wymienione wcześniej. Jednak w pierwszym kroku musimy tylko ustawić EncodeType jako QR. Może być również konieczne dostosowanie pozycji obrazu w kroku nr 6.

Poniższy przykład kodu demonstruje, jak dodać kod QR do pliku programu Excel przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak dodać kod QR do istniejącego pliku programu Excel.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję liniowego obiektu kodu kreskowego, Ustaw tekst kodu i typ symboliki dla kodu kreskowego
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Tworzenie strumienia pamięci i zapisywanie obrazu kodu kreskowego do strumienia pamięci
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Utwórz instancję klasy programu Excel, która reprezentuje plik programu Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Uzyskaj dostęp do arkusza według jego indeksu
Worksheet sheet = workbook.Worksheets[0];

// Metoda Add przyjmuje następujące parametry:
// Indeks lewego górnego rzędu, indeks lewego górnego rzędu.
// Indeks lewej górnej kolumny, indeks lewej górnej kolumny.
// Plik graficzny.
sheet.Pictures.Add(5, 5, ms);

// Zapisz plik
workbook.Save(dataDir + "sample_out_qr.xlsx");

Czytaj kod kreskowy z pliku Excela za pomocą C#

Możemy rozpoznać dowolny obraz kodu kreskowego osadzony na dowolnym arkuszu pliku Excel, wykonując czynności podane poniżej:

  1. Najpierw załaduj istniejący plik programu Excel przy użyciu klasy Workbook.
  2. Następnie przejdź do arkusza roboczego według jego indeksu.
  3. Następnie zapisz obrazy do strumieniowego przesyłania z PictureCollection w pętli.
  4. Następnie utwórz instancję klasy BarCodeReader ze strumieniem obrazu i DecodeType jako argumentami.
  5. Następnie wywołaj metodę ReadBarCodes(), aby pobrać obiekt BarCodeResult.
  6. Na koniec pokaż informacje o kodzie kreskowym.

Poniższy przykład kodu demonstruje, jak odczytać obraz kodu kreskowego z pliku programu Excel przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak odczytać kod kreskowy z pliku programu Excel.
// Ścieżka do katalogu dokumentów.
string dataDir = @"C:\Files\BarCode\";

// Utwórz instancję klasy programu Excel, która reprezentuje plik programu Excel
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// Zapisuj obrazy do strumieniowego przesyłania w pętli
foreach(var img in sheet.Pictures)
{
  // Zapisz obraz do strumienia
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // Rozpoznaj kod kreskowy z powyższego strumienia obrazu
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code128))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeType);
      Console.WriteLine("Symbology: " + result.CodeText);
    }
  }
}

Powyższy przykładowy kod powinien generować następujące dane wyjściowe.

Codetext found: Code128
Symbology: 1234567

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • programowo utworzyć skoroszyt programu Excel;
  • dodaj nowy arkusz w skoroszycie programu Excel;
  • wygenerować i dodać obraz kodu kreskowego do arkusza kalkulacyjnego Excel;
  • odczytać obraz kodu kreskowego z pliku Excel.

Poza tym możesz dowiedzieć się więcej o Aspose.BarCode for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też