Dans cet article, je vais vous expliquer comment supprimer des lignes et des colonnes vides dans un fichier Excel à l’aide de C#. J’expliquerai également comment mettre à jour automatiquement les références (utilisées dans les formules, les graphiques et les tableaux) tout en supprimant les lignes et les colonnes vides.

C# API to Remove Blank Rows and Columns

Aspose.Cells pour .NET est une API de manipulation de feuille de calcul bien connue qui vous permet de créer et de traiter des fichiers Excel à partir de vos applications .NET. L’API vous permet de supprimer des lignes et des colonnes vides dans les fichiers Excel en quelques lignes de code. Vous pouvez soit télécharger les binaires de l’API, soit les installer à l’aide de NuGet.

 PM> Install-Package Aspose.Cells

Supprimer les lignes vides dans Excel à l’aide de C#

Voici les étapes pour supprimer toutes les lignes vides dans Excel à l’aide de C#.

  • Ouvrez un fichier Excel à l’aide de l’objet Workbook.
  • Accédez à la feuille de calcul contenant les lignes vides. La feuille de calcul est accessible soit par index (basé sur zéro), soit par nom.
  • Appelez la méthode Cells.DeleteBlankRows() pour supprimer toutes les lignes vides qui ne contiennent aucune donnée.

L’exemple de code suivant montre comment supprimer des lignes vides dans Excel à l’aide de C#.

using Aspose.Cells;

// Ouvrez un fichier Excel existant.
Workbook wb = new Workbook("SampleInput.xlsx");

// Obtenez la collection de feuilles de calcul dans la feuille de calcul.
WorksheetCollection sheets = wb.Worksheets;

// Obtenez la première feuille de calcul de WorksheetCollection par index.
Worksheet sheet = sheets[0];
// Ou par nom.
// Feuille de calcul = feuilles["Feuille1"] ;

// Supprimez les lignes vides de la feuille de calcul.
sheet.Cells.DeleteBlankRows();

// Enregistrez le fichier excel.
wb.Save("SampleOutput.xlsx");
Supprimer les lignes vides

Fig 1: Supprimer les lignes vides

Veuillez noter que la méthode Cells.DeleteBlankRows supprime les lignes vides même si une sorte de formatage leur est appliquée. Il supprime également les lignes vides formatées sous vos données.

Supprimer les lignes vides formatées

Fig 2: Supprimer les lignes vides formatées

Si vous souhaitez supprimer des lignes vides de toutes les feuilles de calcul d’un document Excel, parcourez simplement WorksheetCollection et appelez la méthode DeleteBlankRows sur chaque feuille de calcul, comme indiqué dans le code suivant:

// Ouvrez un fichier Excel existant.
Workbook workbook = new Workbook("SampleInput.xlsx");

// Itérer sur les feuilles de calcul.
foreach (Worksheet sheet in workbook.Worksheets)
{
    // Delete the Blank Rows from the worksheet.
    sheet.Cells.DeleteBlankRows();
}

// Enregistrez le fichier excel.
workbook.Save("SampleOutput.xlsx");

Mettre à jour les références automatiquement lors de la suppression de lignes vides

La suppression de lignes vides peut casser les références dans les formules, les graphiques et les tableaux. Par exemple, la cellule B2 de la deuxième feuille de calcul contient une formule =Feuille1!C3 qui fait référence à la cellule C3 de la première feuille de calcul, comme illustré dans la figure suivante.

Une cellule de Sheet2 fait référence à une valeur de Sheet1.

Fig 3: Une cellule de Sheet2 fait référence à une valeur de Sheet1.

If we remove blank rows in Sheet1, the value lima@gmail.com will move to cell C1. Mais la formule (= Sheet1! C3) ne sera pas mise à jour et la cellule B2 contiendra une valeur non valide, comme indiqué ci-dessous.

Après avoir supprimé les lignes vides, la formule de la cellule B2 n'a pas été mise à jour.

Fig 4: Après avoir supprimé les lignes vides, la formule dans la cellule B2 n’a pas été mise à jour.

Nous pouvons éviter ce problème en utilisant la propriété DeleteOptions.UpdateReference et en la définissant sur true. Il s’assurera que les références sont mises à jour lors de la suppression des lignes vides. L’exemple de code suivant montre comment utiliser la propriété DeleteOptions.UpdateReference.

// Ouvrez un fichier Excel existant.
Workbook wb = new Workbook("SampleInput.xlsx");

// Obtenez la collection de feuilles de calcul dans la feuille de calcul.
WorksheetCollection sheets = wb.Worksheets;

// Obtenez la première feuille de calcul de WorksheetCollection par index.
Worksheet sheet = sheets[0];

// Cette option assurera les références (dans les formules, les graphiques)
// sont mis à jour lors de la suppression des lignes vides.
DeleteOptions options = new DeleteOptions();
options.UpdateReference = true;

// Supprimez les lignes vides de la feuille de calcul.
sheet.Cells.DeleteBlankRows(options);

// Enregistrez le fichier excel.
wb.Save("SampleOutput.xlsx");

Comme le montre l’image suivante, la formule a été mise à jour et la cellule B2 contient une valeur valide.

La formule a été mise à jour et la cellule contient une valeur valide.

Fig 5: La formule a été mise à jour et la cellule contient une valeur valide.

Supprimer les colonnes vides dans Excel à l’aide de C#

Les étapes pour supprimer des colonnes vides sont les mêmes que pour supprimer des lignes vides. Nous utilisons la méthode Cells.DeleteBlankColumns pour supprimer toutes les colonnes vides qui ne contiennent aucune donnée. L’exemple de code suivant montre comment supprimer des lignes et des colonnes vides en C#.

// Ouvrez un fichier Excel existant.
Workbook wb = new Workbook("SampleInput.xlsx");

// Obtenez la collection de feuilles de calcul dans la feuille de calcul.
WorksheetCollection sheets = wb.Worksheets;

// Obtenez la première feuille de calcul de WorksheetCollection par index.
Worksheet sheet = sheets[0];

// Cette option assurera les références (dans les formules, les graphiques)
// sont mis à jour lors de la suppression des lignes et des colonnes vides.
DeleteOptions options = new DeleteOptions();
options.UpdateReference = true;

// Supprimez les lignes et les colonnes vides.
sheet.Cells.DeleteBlankRows(options);
sheet.Cells.DeleteBlankColumns(options);

// Calculer les formules du classeur
wb.CalculateFormula();

// Enregistrez le fichier excel.
wb.Save("SampleOutput.xlsx");
Supprimer les lignes et les colonnes vides

Fig 6: Supprimer les lignes et colonnes vides

Conclusion

Dans cet article, vous avez appris à supprimer des lignes et des colonnes vides dans un fichier Excel à l’aide de C#. De plus, vous avez appris à mettre à jour automatiquement les références (utilisées dans les formules, les graphiques et les tableaux) tout en supprimant les lignes et les colonnes vides. Veuillez consulter la documentation de Aspose.Cells pour .NET pour plus d’informations. Si vous avez des questions, n’hésitez pas à les poster sur notre Forum d’assistance. Nous y répondrons dans quelques heures.

Voir également