Generování čárového kódu v Excelu pomocí C#

Excel je tabulkový procesor aplikace vyvinutá a publikovaná společností Microsoft. Nejčastěji se používá k ukládání, organizování a sledování datových sad pomocí vzorců a funkcí. V určitých případech může být nutné vygenerovat a přidat čárové kódy do souborů aplikace Excel, abychom vložili konkrétní informace. Do souborů XLSX nebo XLS můžeme v aplikacích .NET přidávat strojově čitelné obrázky čárových kódů. V tomto článku se naučíme, jak vygenerovat čárový kód v Excelu pomocí C#.

Článek se bude týkat následujících témat:

C# API pro generování čárového kódu v Excelu

Pro přidávání čárových kódů do excelových tabulek budeme postupovat ve dvou krocích. K vytvoření nebo načtení souboru aplikace Excel použijeme Aspose.Cells for .NET API. Třída Workbook API umožňuje vytvořit nový excelový sešit nebo načíst existující excelový soubor pro další zpracování. Metoda Save() této třídy uloží sešit na danou cestu k souboru. Rozhraní API také poskytuje třídu Worksheet pro zpracování všech operací na úrovni listu.

Obrázek čárového kódu vygenerujeme a přidáme do listu Excelu pomocí Aspose.BarCode for .NET API. Poskytuje třídu BarcodeGenerator pro generování čárového kódu zadaného EncodeType. Metoda Save() této třídy uloží obrázek čárového kódu do streamu ve specifickém formátu. Poskytuje výčet BarCodeImageFormat pro určení formátů uložení. API také poskytuje třídu BarCodeReader pro čtení čárového kódu z obrázků.

Prosím buď stáhněte DLL rozhraní API, nebo je nainstalujte pomocí NuGet.

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

Vytvořte tabulku Excel a přidejte čárový kód v C#

Můžeme vytvořit novou excelovou tabulku a přidat obrázek čárového kódu do Excelu podle následujících kroků:

  1. Nejprve vytvořte instanci třídy BarcodeGenerator s EncodeType a textem, který chcete zakódovat jako argumenty.
  2. Dále vytvořte instanci objektu paměťového proudu.
  3. Poté zavolejte metodu Save() pro uložení obrázku čárového kódu do paměťového toku.
  4. Dále vytvořte instanci třídy Workbook.
  5. Potom přidejte nový list do WorksheetCollection v sešitu.
  6. Poté přidejte obrázek do PictureCollection listu s objektem proudu a pozicí obrázku jako argumenty.
  7. Nakonec zavolejte metodu Save(). Jako argument bere cestu k výstupnímu souboru XLSX.

Následující příklad kódu ukazuje, jak vytvořit novou tabulku Excel a přidat obrázek čárového kódu pomocí C#.

// Tento příklad kódu ukazuje, jak přidat čárový kód do nového souboru aplikace Excel.
// Cesta k adresáři dokumentů.
string dataDir = @"C:\Files\BarCode\";

// Vytvořte objekt lineárního čárového kódu, nastavte text kódu a typ symboliky pro čárový kód
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Vytváření paměťového proudu a ukládání obrázku čárového kódu do paměťového proudu
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Vytvořte instanci třídy Excel, která představuje soubor aplikace Excel
Workbook workbook = new Workbook();

// Přidávání nového listu
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// Metoda Add má následující parametry:
// Index levého horního řádku, index levého horního řádku.
// Index levého horního sloupce, index levého horního sloupce.
// Soubor obrázku.
sheet.Pictures.Add(5, 5, ms);

// Uložte soubor
workbook.Save(dataDir + "sample.xlsx");
Vytvořte excelovou tabulku a přidejte čárový kód pomocí C#.

Vytvořte excelovou tabulku a přidejte čárový kód pomocí C#.

Přidat čárový kód do existujícího souboru Excel v C#

Můžeme také přidat obrázek čárového kódu na jakýkoli list existujícího sešitu aplikace Excel podle následujících kroků:

  1. Nejprve vytvořte instanci třídy BarcodeGenerator s EncodeType a textem, který chcete zakódovat jako argumenty.
  2. Dále vytvořte instanci objektu paměťového proudu.
  3. Poté zavolejte metodu Save() pro uložení obrázku čárového kódu do paměťového toku.
  4. Dále načtěte existující soubor aplikace Excel pomocí třídy Workbook.
  5. Poté otevřete list podle jeho indexu.
  6. Poté přidejte obrázek do PictureCollection pomocí metody Add() s objektem stream a pozicí obrázku jako argumenty.
  7. Nakonec zavolejte metodu Save(). Jako argument bere cestu k výstupnímu souboru XLSX.

Následující příklad kódu ukazuje, jak přidat obrázek čárového kódu do existujícího souboru Excel pomocí C#.

// Tento příklad kódu ukazuje, jak přidat čárový kód do existujícího souboru aplikace Excel.
// Cesta k adresáři dokumentů.
string dataDir = @"C:\Files\BarCode\";

// Vytvořte objekt lineárního čárového kódu, nastavte text kódu a typ symboliky pro čárový kód
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Vytváření paměťového proudu a ukládání obrázku čárového kódu do paměťového proudu
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Vytvořte instanci třídy Excel, která představuje soubor aplikace Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Přístup k listu pomocí jeho indexu
Worksheet sheet = workbook.Worksheets[0];

// Metoda Add má následující parametry:
// Index levého horního řádku, index levého horního řádku.
// Index levého horního sloupce, index levého horního sloupce.
// Soubor obrázku.
sheet.Pictures.Add(5, 5, ms);

// Uložte soubor
workbook.Save(dataDir + "sample_out.xlsx");

Přidejte QR kód do souboru Excel v C#

Podobně můžeme také přidat QR kód do souboru aplikace Excel podle výše uvedených kroků. Stačí však v prvním kroku nastavit EncodeType jako QR. Možná budeme muset upravit polohu obrazu v kroku #6.

Následující příklad kódu ukazuje, jak přidat QR kód do souboru Excel pomocí C#.

// Tento příklad kódu ukazuje, jak přidat QR kód do existujícího souboru aplikace Excel.
// Cesta k adresáři dokumentů.
string dataDir = @"C:\Files\BarCode\";

// Vytvořte objekt lineárního čárového kódu, nastavte text kódu a typ symboliky pro čárový kód
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Vytváření paměťového proudu a ukládání obrázku čárového kódu do paměťového proudu
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Vytvořte instanci třídy Excel, která představuje soubor aplikace Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Přístup k listu pomocí jeho indexu
Worksheet sheet = workbook.Worksheets[0];

// Metoda Add má následující parametry:
// Index levého horního řádku, index levého horního řádku.
// Index levého horního sloupce, index levého horního sloupce.
// Soubor obrázku.
sheet.Pictures.Add(5, 5, ms);

// Uložte soubor
workbook.Save(dataDir + "sample_out_qr.xlsx");

Čtení čárového kódu ze souboru Excel pomocí C#

Můžeme rozpoznat jakýkoli obrázek čárového kódu vložený na libovolném listu souboru Excel podle následujících kroků:

  1. Nejprve načtěte existující soubor aplikace Excel pomocí třídy Workbook.
  2. Poté otevřete list podle jeho indexu.
  3. Dále uložte obrázky pro streamování z PictureCollection ve smyčce.
  4. Dále vytvořte instanci třídy BarCodeReader s proudem obrázků a DecodeType jako argumenty.
  5. Poté zavolejte metodu ReadBarCodes() a získejte objekt BarCodeResult.
  6. Nakonec ukažte informace o čárovém kódu.

Následující příklad kódu ukazuje, jak číst obrázek čárového kódu ze souboru aplikace Excel pomocí jazyka C#.

// Tento příklad kódu ukazuje, jak číst čárový kód ze souboru aplikace Excel.
// Cesta k adresáři dokumentů.
string dataDir = @"C:\Files\BarCode\";

// Vytvořte instanci třídy Excel, která představuje soubor aplikace Excel
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// Uložte obrázky pro streamování ve smyčce
foreach(var img in sheet.Pictures)
{
  // Uložit obrázek do streamu
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // Rozpoznejte čárový kód ze streamu obrázků výše
  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);
    }
  }
}

Výše uvedený ukázkový kód vytvoří následující výstup.

Codetext found: Code128
Symbology: 1234567

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak:

  • vytvořit excelový sešit programově;
  • přidat nový list do sešitu aplikace Excel;
  • vygenerovat a přidat obrázek čárového kódu do tabulky Excel;
  • číst obrázek čárového kódu ze souboru aplikace Excel.

Kromě toho se můžete dozvědět více o Aspose.BarCode for .NET API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také