Generieren Sie Barcodes in Excel mit C#

Excel ist eine Tabellenkalkulation-Anwendung, die von Microsoft entwickelt und veröffentlicht wurde. Es wird am häufigsten verwendet, um Datensätze mit Formeln und Funktionen zu speichern, zu organisieren und zu verfolgen. In bestimmten Fällen müssen wir möglicherweise Strichcodes in Excel-Dateien generieren und hinzufügen, um bestimmte Informationen einzubetten. Wir können maschinenlesbare Barcode-Bilder zu XLSX- oder XLS-Dateien programmgesteuert in .NET-Anwendungen hinzufügen. In diesem Artikel erfahren Sie, wie Sie mit C# einen Barcode in Excel generieren.

Der Artikel soll folgende Themen behandeln:

C#-API zum Generieren von Barcodes in Excel

Um Barcodes zu Excel-Tabellen hinzuzufügen, folgen wir einem zweistufigen Verfahren. Wir werden die API Aspose.Cells for .NET verwenden, um eine Excel-Datei zu erstellen oder zu laden. Die Klasse Workbook der API ermöglicht das Erstellen einer neuen Excel-Arbeitsmappe oder das Laden einer vorhandenen Excel-Datei zur weiteren Verarbeitung. Die Methode Save() dieser Klasse speichert die Arbeitsmappe im angegebenen Dateipfad. Die API stellt auch eine Klasse Worksheet bereit, um alle Vorgänge auf Blattebene zu verarbeiten.

Wir generieren das Barcode-Bild und fügen es der Excel-Tabelle mit der Aspose.BarCode for .NET-API hinzu. Es stellt die Klasse BarcodeGenerator bereit, um den Barcode des angegebenen EncodeType zu generieren. Die Methode Save() dieser Klasse speichert das Barcode-Bild, um es in einem bestimmten Format zu streamen. Es stellt die Aufzählung BarCodeImageFormat bereit, um die Speicherformate anzugeben. Die API stellt auch die Klasse BarCodeReader bereit, um den Barcode aus Bildern zu lesen.

Bitte entweder die DLLs der APIs herunterladen oder sie mit NuGet installieren.

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

Excel-Tabelle erstellen und Barcode in C# hinzufügen

Wir können eine neue Excel-Tabelle erstellen und ein Barcode-Bild zu Excel hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der BarcodeGenerator-Klasse mit dem EncodeType und dem zu codierenden Text als Argumente.
  2. Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts.
  3. Rufen Sie dann die Save()-Methode auf, um das Barcodebild im Speicherstream zu speichern.
  4. Erstellen Sie als Nächstes eine Instanz der Workbook-Klasse.
  5. Fügen Sie dann ein neues Arbeitsblatt zur WorksheetCollection der Arbeitsmappe hinzu.
  6. Fügen Sie danach das Bild mit dem Stream-Objekt und der Bildposition als Argumente zur PictureCollection des Arbeitsblatts hinzu.
  7. Rufen Sie schließlich die Methode Save() auf. Als Argument wird der Ausgabe-XLSX-Dateipfad verwendet.

Das folgende Codebeispiel zeigt, wie Sie eine neue Excel-Tabelle erstellen und ein Barcodebild mit C# hinzufügen.

// Dieses Codebeispiel zeigt, wie Barcode zu einer neuen Excel-Datei hinzugefügt wird.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Speicherstream erstellen und Barcode-Bild im Speicherstream speichern
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instanziieren Sie eine Excel-Klasse, die eine Excel-Datei darstellt
Workbook workbook = new Workbook();

// Neues Blatt hinzufügen
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// Die Add-Methode übernimmt die folgenden Parameter:
// Oberer linker Zeilenindex, der Index der oberen linken Zeile.
// Oberer linker Spaltenindex, der Index der oberen linken Spalte.
// Bilddatei.
sheet.Pictures.Add(5, 5, ms);

// Speicher die Datei
workbook.Save(dataDir + "sample.xlsx");
Erstellen Sie eine Excel-Tabelle und fügen Sie einen Barcode mit C# hinzu.

Erstellen Sie eine Excel-Tabelle und fügen Sie einen Barcode mit C# hinzu.

Barcode zu vorhandener Excel-Datei in C# hinzufügen

Wir können auch ein Barcode-Bild zu jedem Blatt einer vorhandenen Excel-Arbeitsmappe hinzufügen, indem wir die folgenden Schritte ausführen:

  1. Erstellen Sie zunächst eine Instanz der BarcodeGenerator-Klasse mit dem EncodeType und dem zu codierenden Text als Argumente.
  2. Erstellen Sie als Nächstes eine Instanz des Speicher-Stream-Objekts.
  3. Rufen Sie dann die Save()-Methode auf, um das Barcodebild im Speicherstream zu speichern.
  4. Laden Sie als Nächstes eine vorhandene Excel-Datei mithilfe der Workbook-Klasse.
  5. Greifen Sie dann über den Index auf das Arbeitsblatt zu.
  6. Fügen Sie danach das Bild mithilfe der Add()-Methode mit dem Stream-Objekt und der Bildposition als Argumente zur PictureCollection hinzu.
  7. Rufen Sie schließlich die Methode Save() auf. Als Argument wird der Ausgabe-XLSX-Dateipfad verwendet.

Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# ein Barcodebild zu einer vorhandenen Excel-Datei hinzufügen.

// Dieses Codebeispiel zeigt, wie Barcode zu einer vorhandenen Excel-Datei hinzugefügt wird.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Speicherstream erstellen und Barcode-Bild im Speicherstream speichern
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instanziieren Sie eine Excel-Klasse, die eine Excel-Datei darstellt
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Greifen Sie über den Index auf das Blatt zu
Worksheet sheet = workbook.Worksheets[0];

// Die Add-Methode übernimmt die folgenden Parameter:
// Oberer linker Zeilenindex, der Index der oberen linken Zeile.
// Oberer linker Spaltenindex, der Index der oberen linken Spalte.
// Bilddatei.
sheet.Pictures.Add(5, 5, ms);

// Speicher die Datei
workbook.Save(dataDir + "sample_out.xlsx");

QR-Code zu Excel-Datei in C# hinzufügen

In ähnlicher Weise können wir der Excel-Datei auch einen QR-Code hinzufügen, indem wir die zuvor genannten Schritte ausführen. Allerdings müssen wir im ersten Schritt nur den EncodeType auf QR setzen. Möglicherweise müssen wir auch die Bildposition in Schritt 6 anpassen.

Das folgende Codebeispiel zeigt, wie Sie mit C# einen QR-Code zu einer Excel-Datei hinzufügen.

// Dieses Codebeispiel zeigt, wie Sie QR-Code zu einer vorhandenen Excel-Datei hinzufügen.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";

// Lineares Barcodeobjekt instanziieren, Codetext und Symbologietyp für den Barcode festlegen
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Speicherstream erstellen und Barcode-Bild im Speicherstream speichern
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instanziieren Sie eine Excel-Klasse, die eine Excel-Datei darstellt
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Greifen Sie über den Index auf das Blatt zu
Worksheet sheet = workbook.Worksheets[0];

// Die Add-Methode übernimmt die folgenden Parameter:
// Oberer linker Zeilenindex, der Index der oberen linken Zeile.
// Oberer linker Spaltenindex, der Index der oberen linken Spalte.
// Bilddatei.
sheet.Pictures.Add(5, 5, ms);

// Speicher die Datei
workbook.Save(dataDir + "sample_out_qr.xlsx");

Barcode aus Excel-Datei mit C# lesen

Wir können jedes Barcode-Bild erkennen, das in ein beliebiges Blatt der Excel-Datei eingebettet ist, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine vorhandene Excel-Datei mithilfe der Workbook-Klasse.
  2. Greifen Sie dann über den Index auf das Arbeitsblatt zu.
  3. Speichern Sie als Nächstes die Bilder zum Streamen von PictureCollection in einer Schleife.
  4. Erstellen Sie als Nächstes eine Instanz der BarCodeReader-Klasse mit Bildstream und DecodeType als Argumente.
  5. Rufen Sie danach die Methode ReadBarCodes() auf, um das Objekt BarCodeResult zu erhalten.
  6. Zeigen Sie schließlich die Barcode-Informationen an.

Das folgende Codebeispiel zeigt, wie ein Barcodebild aus einer Excel-Datei mit C# gelesen wird.

// Dieses Codebeispiel zeigt, wie Barcodes aus einer Excel-Datei gelesen werden.
// Der Pfad zum Dokumentenverzeichnis.
string dataDir = @"C:\Files\BarCode\";

// Instanziieren Sie eine Excel-Klasse, die eine Excel-Datei darstellt
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// Speichern Sie Bilder, um sie in einer Schleife zu streamen
foreach(var img in sheet.Pictures)
{
  // Bild zum Streamen speichern
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // Erkennen Sie den Barcode aus dem obigen Bildstream
  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);
    }
  }
}

Das obige Codebeispiel soll die folgende Ausgabe erzeugen.

Codetext found: Code128
Symbology: 1234567

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie man:

  • programmgesteuert eine Excel-Arbeitsmappe erstellen;
  • fügen Sie ein neues Blatt in der Excel-Arbeitsmappe hinzu;
  • Erstellen Sie ein Barcode-Bild und fügen Sie es der Excel-Tabelle hinzu;
  • Lesen Sie ein Barcode-Bild aus einer Excel-Datei.

Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.BarCode für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch