O Excel é um aplicativo de [planilha] desenvolvido e publicado pela Microsoft. É mais comumente usado para armazenar, organizar e rastrear conjuntos de dados com fórmulas e funções. Em certos casos, podemos precisar gerar e adicionar códigos de barras em arquivos Excel para incorporar informações específicas. Podemos adicionar imagens de código de barras legíveis por máquina a arquivos XLSX ou XLS programaticamente em aplicativos .NET. Neste artigo, aprenderemos como gerar um código de barras no Excel usando C#.
O artigo deve abordar os seguintes tópicos:
- API C# para gerar código de barras no Excel
- Criar planilha do Excel e adicionar código de barras
- Adicionar código de barras ao arquivo Excel existente
- Adicionar código QR ao arquivo do Excel
- Ler código de barras do arquivo Excel
API C# para gerar código de barras no Excel
Para adicionar códigos de barras a planilhas do Excel, seguiremos um procedimento de duas etapas. Usaremos a API Aspose.Cells for .NET para criar ou carregar um arquivo Excel. A classe Workbook da API permite criar uma nova pasta de trabalho do Excel ou carregar um arquivo existente do Excel para processamento posterior. O método Save() dessa classe salva a pasta de trabalho no caminho de arquivo fornecido. A API também fornece uma classe Worksheet para lidar com todas as operações no nível da planilha.
Vamos gerar e adicionar a imagem do código de barras à planilha do Excel usando a API Aspose.BarCode for .NET. Ele fornece a classe BarcodeGenerator para gerar o código de barras do EncodeType especificado. O método Save() dessa classe salva a imagem do código de barras para transmitir em um formato específico. Ele fornece a enumeração BarCodeImageFormat para especificar os formatos de salvamento. A API também fornece a classe BarCodeReader para ler o código de barras das imagens.
Por favor, baixe as DLLs das APIs ou instale-as usando NuGet.
PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells
Criar planilha do Excel e adicionar código de barras em C#
Podemos criar uma nova planilha do Excel e adicionar uma imagem de código de barras ao Excel seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
- Em seguida, crie uma instância da classe Workbook.
- Em seguida, adicione uma nova planilha à WorksheetCollection da pasta de trabalho.
- Depois disso, adicione a imagem à PictureCollection da Planilha com o objeto de fluxo e a posição da imagem como argumentos.
- Por fim, chame o método Save(). Ele usa o caminho do arquivo XLSX de saída como um argumento.
O exemplo de código a seguir demonstra como criar uma nova planilha do Excel e adicionar uma imagem de código de barras usando C#.
// Este exemplo de código demonstra como adicionar código de barras a um novo arquivo do Excel.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";
// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");
// Criando fluxo de memória e salvando imagem de código de barras no fluxo de memória
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instanciar a classe do Excel que representa um arquivo do Excel
Workbook workbook = new Workbook();
// Adicionando nova planilha
Worksheet sheet = workbook.Worksheets.Add("MySheet");
// O método Add usa os seguintes parâmetros:
// Índice da linha superior esquerda, o índice da linha superior esquerda.
// Índice da coluna superior esquerda, o índice da coluna superior esquerda.
// Arquivo de imagem.
sheet.Pictures.Add(5, 5, ms);
// Salve o arquivo
workbook.Save(dataDir + "sample.xlsx");
Adicionar código de barras ao arquivo Excel existente em c#
Também podemos adicionar uma imagem de código de barras a qualquer planilha de uma pasta de trabalho existente do Excel seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
- Em seguida, crie uma instância do objeto de fluxo de memória.
- Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
- Em seguida, carregue um arquivo do Excel existente usando a classe Workbook.
- Em seguida, acesse a Planilha pelo seu índice.
- Depois disso, adicione a imagem ao PictureCollection usando o método Add() com o objeto de fluxo e a posição da imagem como argumentos.
- Por fim, chame o método Save(). Ele usa o caminho do arquivo XLSX de saída como um argumento.
O exemplo de código a seguir demonstra como adicionar uma imagem de código de barras a um arquivo do Excel existente usando C#.
// Este exemplo de código demonstra como adicionar código de barras a um arquivo Excel existente.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";
// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");
// Criando fluxo de memória e salvando imagem de código de barras no fluxo de memória
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instanciar a classe do Excel que representa um arquivo do Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Acesse a planilha pelo seu índice
Worksheet sheet = workbook.Worksheets[0];
// O método Add usa os seguintes parâmetros:
// Índice da linha superior esquerda, o índice da linha superior esquerda.
// Índice da coluna superior esquerda, o índice da coluna superior esquerda.
// Arquivo de imagem.
sheet.Pictures.Add(5, 5, ms);
// Salve o arquivo
workbook.Save(dataDir + "sample_out.xlsx");
Adicionar código QR ao arquivo do Excel em C#
Da mesma forma, também podemos adicionar um código QR ao arquivo Excel seguindo as etapas mencionadas anteriormente. No entanto, só precisamos definir o EncodeType como QR na primeira etapa. Também podemos precisar ajustar a posição da imagem na etapa 6.
O exemplo de código a seguir demonstra como adicionar um código QR a um arquivo do Excel usando C#.
// Este exemplo de código demonstra como adicionar código QR a um arquivo Excel existente.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";
// Instanciar objeto de código de barras linear, definir o texto do código e o tipo de simbologia para o código de barras
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");
// Criando fluxo de memória e salvando imagem de código de barras no fluxo de memória
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);
// Instanciar a classe do Excel que representa um arquivo do Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Acesse a planilha pelo seu índice
Worksheet sheet = workbook.Worksheets[0];
// O método Add usa os seguintes parâmetros:
// Índice da linha superior esquerda, o índice da linha superior esquerda.
// Índice da coluna superior esquerda, o índice da coluna superior esquerda.
// Arquivo de imagem.
sheet.Pictures.Add(5, 5, ms);
// Salve o arquivo
workbook.Save(dataDir + "sample_out_qr.xlsx");
Leia o código de barras do arquivo do Excel usando C#
Podemos reconhecer qualquer imagem de código de barras incorporada em qualquer planilha do arquivo Excel seguindo as etapas abaixo:
- Em primeiro lugar, carregue um arquivo Excel existente usando a classe Workbook.
- Em seguida, acesse a Planilha pelo seu índice.
- Em seguida, salve as imagens para transmitir do PictureCollection em um loop.
- Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
- Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
- Por fim, mostre as informações do código de barras.
O exemplo de código a seguir demonstra como ler uma imagem de código de barras de um arquivo do Excel usando C#.
// Este exemplo de código demonstra como ler o código de barras de um arquivo do Excel.
// O caminho para o diretório de documentos.
string dataDir = @"C:\Files\BarCode\";
// Instanciar a classe do Excel que representa um arquivo do Excel
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// Salve imagens para transmitir em um loop
foreach(var img in sheet.Pictures)
{
// Salvar imagem para transmitir
MemoryStream imageStream = new MemoryStream();
img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());
// Reconhecer o código de barras do fluxo de imagem acima
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);
}
}
}
O exemplo de código acima deve produzir a seguinte saída.
Codetext found: Code128
Symbology: 1234567
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.
Conclusão
Neste artigo, aprendemos como:
- criar uma pasta de trabalho do Excel programaticamente;
- adicione uma nova planilha na pasta de trabalho do Excel;
- gerar e adicionar uma imagem de código de barras à planilha Excel;
- ler uma imagem de código de barras de um arquivo Excel.
Além disso, você pode aprender mais sobre Aspose.BarCode para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.