Générer un code-barres dans Excel à l'aide de C#

Excel est une application tableur développée et éditée par Microsoft. Il est le plus souvent utilisé pour stocker, organiser et suivre des ensembles de données avec des formules et des fonctions. Dans certains cas, nous pouvons avoir besoin de générer et d’ajouter des codes-barres dans des fichiers Excel pour intégrer des informations spécifiques. Nous pouvons ajouter des images de codes-barres lisibles par machine aux fichiers XLSX ou XLS par programmation dans les applications .NET. Dans cet article, nous allons apprendre à générer un code-barres dans Excel à l’aide de C#.

L’article doit couvrir les sujets suivants :

API C# pour générer un code-barres dans Excel

Pour ajouter des codes-barres aux feuilles de calcul Excel, nous suivrons une procédure en deux étapes. Nous utiliserons l’API Aspose.Cells for .NET pour créer ou charger un fichier Excel. La classe Workbook de l’API permet de créer un nouveau classeur Excel ou de charger un fichier Excel existant pour un traitement ultérieur. La méthode Save() de cette classe enregistre le classeur sur le chemin de fichier donné. L’API fournit également une classe Worksheet pour gérer toutes les opérations au niveau de la feuille.

Nous allons générer et ajouter l’image du code-barres à la feuille Excel à l’aide de l’API Aspose.BarCode for .NET. Il fournit la classe BarcodeGenerator pour générer le code-barres du EncodeType spécifié. La méthode Save() de cette classe enregistre l’image du code-barres à diffuser dans un format spécifique. Il fournit l’énumération BarCodeImageFormat pour spécifier les formats d’enregistrement. L’API fournit également la classe BarCodeReader pour lire le code-barres à partir des images.

Veuillez soit télécharger les DLL des API ou les installer à l’aide de NuGet.

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

Créer une feuille de calcul Excel et ajouter un code-barres en C#

Nous pouvons créer une nouvelle feuille de calcul Excel et ajouter une image de code-barres à Excel en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe BarcodeGenerator avec le EncodeType et le texte à encoder comme arguments.
  2. Ensuite, créez une instance de l’objet de flux de mémoire.
  3. Appelez ensuite la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
  4. Ensuite, créez une instance de la classe Workbook.
  5. Ensuite, ajoutez une nouvelle feuille de calcul à la WorksheetCollection du classeur.
  6. Après cela, ajoutez l’image à la PictureCollection de la feuille de travail avec l’objet de flux et la position de l’image comme arguments.
  7. Enfin, appelez la méthode Save(). Il prend le chemin du fichier XLSX de sortie comme argument.

L’exemple de code suivant montre comment créer une nouvelle feuille de calcul Excel et ajouter une image de code-barres à l’aide de C#.

// Cet exemple de code montre comment ajouter Barcode à un nouveau fichier Excel.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Création d'un flux de mémoire et enregistrement d'une image de code-barres dans un flux de mémoire
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instancier une classe Excel qui représente un fichier Excel
Workbook workbook = new Workbook();

// Ajout d'une nouvelle feuille
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// La méthode Add prend les paramètres suivants :
// Index de la ligne supérieure gauche, l'index de la ligne supérieure gauche.
// Index de la colonne supérieure gauche, l'index de la colonne supérieure gauche.
// Fichier d'image.
sheet.Pictures.Add(5, 5, ms);

// Enregistrez le fichier
workbook.Save(dataDir + "sample.xlsx");
Créez une feuille de calcul Excel et ajoutez un code-barres à l'aide de C#.

Créez une feuille de calcul Excel et ajoutez un code-barres à l’aide de C#.

Ajouter un code-barres au fichier Excel existant en C#

Nous pouvons également ajouter une image de code-barres à n’importe quelle feuille d’un classeur Excel existant en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe BarcodeGenerator avec le EncodeType et le texte à encoder comme arguments.
  2. Ensuite, créez une instance de l’objet de flux de mémoire.
  3. Appelez ensuite la méthode Save() pour enregistrer l’image du code-barres dans le flux de mémoire.
  4. Ensuite, chargez un fichier Excel existant à l’aide de la classe Workbook.
  5. Ensuite, accédez à la feuille de travail par son index.
  6. Après cela, ajoutez l’image à PictureCollection à l’aide de la méthode Add() avec l’objet de flux et la position de l’image comme arguments.
  7. Enfin, appelez la méthode Save(). Il prend le chemin du fichier XLSX de sortie comme argument.

L’exemple de code suivant montre comment ajouter une image de code-barres à un fichier Excel existant à l’aide de C#.

// Cet exemple de code montre comment ajouter un code-barres à un fichier Excel existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Création d'un flux de mémoire et enregistrement d'une image de code-barres dans un flux de mémoire
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instancier une classe Excel qui représente un fichier Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Accéder à la fiche par son index
Worksheet sheet = workbook.Worksheets[0];

// La méthode Add prend les paramètres suivants :
// Index de la ligne supérieure gauche, l'index de la ligne supérieure gauche.
// Index de la colonne supérieure gauche, l'index de la colonne supérieure gauche.
// Fichier d'image.
sheet.Pictures.Add(5, 5, ms);

// Enregistrez le fichier
workbook.Save(dataDir + "sample_out.xlsx");

Ajouter un code QR au fichier Excel en C#

De même, nous pouvons également ajouter un code QR au fichier Excel en suivant les étapes mentionnées précédemment. Cependant, nous avons juste besoin de définir le EncodeType comme QR dans la première étape. Nous devrons peut-être également ajuster la position de l’image à l’étape 6.

L’exemple de code suivant montre comment ajouter un code QR à un fichier Excel à l’aide de C#.

// Cet exemple de code montre comment ajouter un code QR à un fichier Excel existant.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Instancier un objet de code-barres linéaire, définir le texte du code et le type de symbologie pour le code-barres
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Création d'un flux de mémoire et enregistrement d'une image de code-barres dans un flux de mémoire
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Instancier une classe Excel qui représente un fichier Excel
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Accéder à la fiche par son index
Worksheet sheet = workbook.Worksheets[0];

// La méthode Add prend les paramètres suivants :
// Index de la ligne supérieure gauche, l'index de la ligne supérieure gauche.
// Index de la colonne supérieure gauche, l'index de la colonne supérieure gauche.
// Fichier d'image.
sheet.Pictures.Add(5, 5, ms);

// Enregistrez le fichier
workbook.Save(dataDir + "sample_out_qr.xlsx");

Lire le code-barres à partir d’un fichier Excel à l’aide de C#

Nous pouvons reconnaître n’importe quelle image de code-barres intégrée sur n’importe quelle feuille du fichier Excel en suivant les étapes ci-dessous :

  1. Tout d’abord, chargez un fichier Excel existant à l’aide de la classe Workbook.
  2. Ensuite, accédez à la feuille de travail par son index.
  3. Ensuite, enregistrez les images à diffuser à partir de PictureCollection dans une boucle.
  4. Ensuite, créez une instance de la classe BarCodeReader avec le flux d’image et DecodeType comme arguments.
  5. Après cela, appelez la méthode ReadBarCodes() pour obtenir l’objet BarCodeResult.
  6. Enfin, affichez les informations du code-barres.

L’exemple de code suivant montre comment lire une image de code-barres à partir d’un fichier Excel à l’aide de C#.

// Cet exemple de code montre comment lire un code-barres à partir d'un fichier Excel.
// Chemin d'accès au répertoire des documents.
string dataDir = @"C:\Files\BarCode\";

// Instancier une classe Excel qui représente un fichier Excel
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// Enregistrer des images pour diffuser en boucle
foreach(var img in sheet.Pictures)
{
  // Enregistrer l'image pour diffuser
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // Reconnaître le code-barres à partir du flux d'images ci-dessus
  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);
    }
  }
}

L’exemple de code ci-dessus doit produire la sortie suivante.

Codetext found: Code128
Symbology: 1234567

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • créer un classeur Excel par programmation ;
  • ajouter une nouvelle feuille dans le classeur Excel ;
  • générer et ajouter une image de code-barres à la feuille de calcul Excel ;
  • lire une image de code-barres à partir d’un fichier Excel.

En outre, vous pouvez en savoir plus sur l’API Aspose.BarCode for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également