Gerar código de barras no Excel usando C#

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

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:

  1. Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
  2. Em seguida, crie uma instância do objeto de fluxo de memória.
  3. Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
  4. Em seguida, crie uma instância da classe Workbook.
  5. Em seguida, adicione uma nova planilha à WorksheetCollection da pasta de trabalho.
  6. Depois disso, adicione a imagem à PictureCollection da Planilha com o objeto de fluxo e a posição da imagem como argumentos.
  7. 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");
Crie uma planilha do Excel e adicione um código de barras usando C#.

Crie uma planilha do Excel e adicione um código de barras usando C#.

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:

  1. Em primeiro lugar, crie uma instância da classe BarcodeGenerator com o EncodeType e o texto para codificar como argumentos.
  2. Em seguida, crie uma instância do objeto de fluxo de memória.
  3. Em seguida, chame o método Save() para salvar a imagem do código de barras no fluxo de memória.
  4. Em seguida, carregue um arquivo do Excel existente usando a classe Workbook.
  5. Em seguida, acesse a Planilha pelo seu índice.
  6. 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.
  7. 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:

  1. Em primeiro lugar, carregue um arquivo Excel existente usando a classe Workbook.
  2. Em seguida, acesse a Planilha pelo seu índice.
  3. Em seguida, salve as imagens para transmitir do PictureCollection em um loop.
  4. Em seguida, crie uma instância da classe BarCodeReader com fluxo de imagem e DecodeType como argumentos.
  5. Depois disso, chame o método ReadBarCodes() para obter o objeto BarCodeResult.
  6. 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.

Veja também