Excel är ett kalkylblad-program utvecklat och publicerat av Microsoft. Det används oftast för att lagra, organisera och spåra datamängder med formler och funktioner. I vissa fall kan vi behöva generera och lägga till streckkoder i Excel-filer för att bädda in specifik information. Vi kan lägga till maskinläsbara streckkodsbilder till XLSX- eller XLS-filer programmatiskt i .NET-applikationer. I den här artikeln kommer vi att lära oss hur man genererar en streckkod i Excel med C#.
Artikeln ska täcka följande ämnen:
- C# API för att generera streckkoder i Excel
- Skapa Excel-kalkylblad och lägg till streckkod
- Lägg till streckkod till befintlig Excel-fil
- Lägg till QR-kod till Excel-fil
- Läs streckkod från Excel-fil
C# API för att generera streckkoder i Excel
För att lägga till streckkoder till Excel-kalkylblad kommer vi att följa en tvåstegsprocedur. Vi kommer att använda Aspose.Cells for .NET API för att skapa eller ladda en Excel-fil. Klassen Arbetsbok i API:t gör det möjligt att skapa en ny Excel-arbetsbok eller ladda en befintlig Excel-fil för vidare bearbetning. Metoden Save() för denna klass sparar arbetsboken på den givna sökvägen. API:et tillhandahåller också en klass Worksheet för att hantera alla operationer på arknivå.
Vi kommer att generera och lägga till streckkodsbilden till Excel-arket med hjälp av Aspose.BarCode for .NET API. Den tillhandahåller klassen BarcodeGenerator för att generera streckkoden för den specificerade EncodeType. Metoden Save() för denna klass sparar streckkodsbilden för att streama i ett specifikt format. Den tillhandahåller BarCodeImageFormat uppräkning för att specificera sparade format. API:et tillhandahåller också klassen BarCodeReader för att läsa streckkoden från bilder.
Vänligen antingen ladda ned API:ernas DLL:er eller installera dem med NuGet.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells
Skapa Excel-kalkylblad och lägg till streckkod i C#
Vi kan skapa ett nytt Excel-kalkylblad och lägga till en streckkodsbild till Excel genom att följa stegen nedan:
- Skapa först en instans av klassen BarcodeGenerator med EncodeType och text som ska kodas som argument.
- Skapa sedan en instans av minnesströmobjektet.
- Anropa sedan metoden Save() för att spara streckkodsbilden i minnesströmmen.
- Skapa sedan en instans av klassen Workbook.
- Lägg sedan till ett nytt arbetsblad i WorksheetCollection i arbetsboken.
- Lägg sedan till bilden i PictureCollection i arbetsbladet med strömobjektet och bildpositionen som argument.
- Till sist, anropa metoden Save(). Den tar utdata XLSX-filsökvägen som ett argument.
Följande kodexempel visar hur man skapar ett nytt Excel-kalkylblad och lägger till en streckkodsbild med C#.
// Detta kodexempel visar hur man lägger till streckkod i en ny Excel-fil.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";
// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");
// Skapa minnesström och spara streckkodsbild till minnesström
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instantiera Excel-klass som representerar en Excel-fil
Workbook workbook = new Workbook();
// Lägger till nytt blad
Worksheet sheet = workbook.Worksheets.Add("MySheet");
// Add-metoden tar följande parametrar:
// Övre vänstra radens index, indexet för den övre vänstra raden.
// Övre vänstra kolumnindex, index för den övre vänstra kolumnen.
// Bildfil.
sheet.Pictures.Add(5, 5, ms);
// Spara filen
workbook.Save(dataDir + "sample.xlsx");
Lägg till streckkod till befintlig Excel-fil i C#
Vi kan också lägga till en streckkodsbild till valfritt ark i en befintlig Excel-arbetsbok genom att följa stegen nedan:
- Skapa först en instans av klassen BarcodeGenerator med EncodeType och text som ska kodas som argument.
- Skapa sedan en instans av minnesströmobjektet.
- Anropa sedan metoden Save() för att spara streckkodsbilden i minnesströmmen.
- Läs sedan in en befintlig Excel-fil med klassen Workbook.
- Öppna sedan arbetsbladet genom dess index.
- Efter det lägger du till bilden i PictureCollection med metoden Add() med strömobjektet och bildpositionen som argument.
- Till sist, anropa metoden Save(). Den tar utdata XLSX-filsökvägen som ett argument.
Följande kodexempel visar hur man lägger till en streckkodsbild till en befintlig Excel-fil med C#.
// Detta kodexempel visar hur man lägger till streckkod i en befintlig Excel-fil.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";
// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");
// Skapa minnesström och spara streckkodsbild till minnesström
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instantiera Excel-klass som representerar en Excel-fil
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Få åtkomst till arket genom dess index
Worksheet sheet = workbook.Worksheets[0];
// Add-metoden tar följande parametrar:
// Övre vänstra radens index, indexet för den övre vänstra raden.
// Övre vänstra kolumnindex, index för den övre vänstra kolumnen.
// Bildfil.
sheet.Pictures.Add(5, 5, ms);
// Spara filen
workbook.Save(dataDir + "sample_out.xlsx");
Lägg till QR-kod till Excel-fil i C#
På samma sätt kan vi också lägga till en QR-kod till Excel-filen genom att följa stegen som nämnts tidigare. Men vi behöver bara ställa in EncodeType som QR i det första steget. Vi kan också behöva justera bildpositionen i steg #6.
Följande kodexempel visar hur man lägger till en QR-kod i en Excel-fil med C#.
// Detta kodexempel visar hur man lägger till QR-kod i en befintlig Excel-fil.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";
// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// Skapa minnesström och spara streckkodsbild till minnesström
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instantiera Excel-klass som representerar en Excel-fil
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Få åtkomst till arket genom dess index
Worksheet sheet = workbook.Worksheets[0];
// Add-metoden tar följande parametrar:
// Övre vänstra radens index, indexet för den övre vänstra raden.
// Övre vänstra kolumnindex, index för den övre vänstra kolumnen.
// Bildfil.
sheet.Pictures.Add(5, 5, ms);
// Spara filen
workbook.Save(dataDir + "sample_out_qr.xlsx");
Läs streckkod från Excel-fil med C#
Vi kan känna igen alla streckkodsbilder som är inbäddade på valfritt ark i Excel-filen genom att följa stegen nedan:
- Först laddar du en befintlig Excel-fil med klassen Workbook.
- Öppna sedan arbetsbladet genom dess index.
- Spara sedan bilderna för att streama från PictureCollection i en slinga.
- Skapa sedan en instans av klassen BarCodeReader med bildström och DecodeType som argument.
- Efter det, anropa metoden ReadBarCodes() för att få objektet BarCodeResult.
- Till sist, visa streckkodsinformationen.
Följande kodexempel visar hur man läser en streckkodsbild från en Excel-fil med C#.
// Detta kodexempel visar hur man läser streckkoder från en Excel-fil.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";
// Instantiera Excel-klass som representerar en Excel-fil
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Spara bilder för att streama i en slinga
foreach(var img in sheet.Pictures)
{
// Spara bilden för att streama
MemoryStream imageStream = new MemoryStream();
img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());
// Känn igen streckkoden från bildströmmen ovan
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);
}
}
}
Ovanstående kodexempel ska producera följande utdata.
Codetext found: Code128
Symbology: 1234567
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har vi lärt oss hur man:
- skapa en Excel-arbetsbok programmatiskt;
- lägg till ett nytt ark i Excel-arbetsboken;
- generera och lägga till en streckkodsbild till Excel-kalkylarket;
- läsa en streckkodsbild från en Excel-fil.
Dessutom kan du lära dig mer om Aspose.BarCode för .NET API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forum.