Dans cet article, vous apprendrez comment fusionner ou dissocier des cellules Excel dans une feuille de calcul en C#. Généralement, la fusion de cellules fait référence à une ou plusieurs cellules réunies pour former une grande cellule. Cependant, les cellules adjacentes peuvent être fusionnées verticalement ou horizontalement. Alors que la conversion d’une grande cellule en plusieurs cellules est connue sous le nom de fusion ou de division de cellules dans la feuille de calcul Excel. Explorons les cas d’utilisation suivants :

Fusionner des cellules Excel dans une feuille de calcul avec C#

Vous pouvez facilement fusionner des cellules dans une feuille de calcul Excel avec l’API Aspose.Cells for .NET en utilisant C#. Dans cet exemple, nous allons créer une nouvelle feuille de calcul Excel à partir de zéro, puis fusionner quelques cellules en suivant les étapes ci-dessous :

  1. Créer un objet Workbook
  2. Obtenez le premier worskeet
  3. Merge cellules spécifiques
  4. Mettre la valeur dans la cellule fusionnée
  5. Appliquer des styles sur la cellule
  6. Enregistrer la feuille de calcul Excel de sortie

L’extrait de code ci-dessous montre comment fusionner des cellules dans une feuille de calcul Excel avec C# :

// Create a Workbook.
Workbook wbk = new Workbook();

// Create a Worksheet and get the first sheet.
Worksheet worksheet = wbk.Worksheets[0];

// Create a Cells object ot fetch all the cells.
Cells cells = worksheet.Cells;

// Merge some Cells (C6:E7) into a single C6 Cell.
cells.Merge(5, 2, 2, 3);

// Input data into C6 Cell.
worksheet.Cells[5, 2].PutValue("This is my value");

// Create a Style object to fetch the Style of C6 Cell.
Style style = worksheet.Cells[5, 2].GetStyle();

// Create a Font object
Font font = style.Font;

// Set the name.
font.Name = "Times New Roman";

// Set the font size.
font.Size = 18;

// Set the font color
font.Color = System.Drawing.Color.Blue;

// Bold the text
font.IsBold = true;

// Make it italic
font.IsItalic = true;

// Set the backgrond color of C6 Cell to Red
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Apply the Style to C6 Cell.
cells[5, 2].SetStyle(style);

// Save the Workbook.
wbk.Save(dataDir + "MergeCells.xlsx");

Le fichier de sortie généré à partir de cet extrait de code contiendra des cellules fusionnées comme dans la capture d’écran ci-dessous :

Fusionner des cellules

Annuler la fusion des cellules Excel dans la feuille de calcul avec C#

Nous avons appris à fusionner des cellules dans un fichier Excel. Poussons ce processus un peu plus loin. Ici, nous envisagerons de dissocier des cellules dans une feuille de calcul Excel en suivant les étapes ci-dessous :

  1. Charger le fichier Excel source
  2. Créer un objet Worksheet et accéder à la première feuille
  3. Dissocier les cellules
  4. Enregistrer le fichier de sortie

L’extrait de code ci-dessous est basé sur ces étapes et montre comment dissocier des cellules dans un fichier Excel avec C# :

// Open the excel file.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Create a Worksheet and get the first sheet.
Worksheet worksheet = wbk.Worksheets[0];

// Create a Cells object ot fetch all the cells.
Cells cells = worksheet.Cells;

// Unmerge the cells.
cells.UnMerge(5, 2, 2, 3);

// Save the file.
wbk.Save(dataDir + "UnmergeCells.xlsx");

L’image suivante montre à quoi ressemblent les cellules non fusionnées lorsque vous exécutez le code ci-dessus dans votre environnement :

Annuler la fusion des cellules

Fusionner une plage de cellules Excel dans une feuille de calcul avec C#

Parfois, plusieurs cellules sont spécifiées sous différentes plages de cellules. Vous souhaiterez peut-être fusionner une plage de cellules spécifique dans une feuille Excel. Dans de tels scénarios, veuillez suivre les étapes ci-dessous :

  1. Créer un objet Workbook
  2. Accéder à la première feuille de calcul
  3. Saisir des données dans une cellule
  4. Créer et Merge la gamme
  5. Enregistrer le fichier Excel de sortie

L’extrait de code ci-dessous montre comment fusionner une plage de cellules dans une cellule plus grande dans un fichier Excel à l’aide de C# :

// Create a workbook
Workbook workbook = new Workbook();

// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Input data into C6 Cell.
worksheet.Cells[0, 0].PutValue("Merge Range");

// Create a range
Range range = worksheet.Cells.CreateRange("A1:D4");

// Merge range into a single cell
range.Merge();

// Save the workbook
workbook.Save(dataDir + "Merge_Range.xlsx");

Annuler la fusion d’une plage de cellules Excel dans une feuille de calcul avec C#

Nous avons exploré la fusion d’une plage de cellules dans Excel dans l’exemple précédent. Passons à la dissociation des cellules fusionnées en suivant les étapes ci-dessous :

  1. Charger la source Workbook
  2. Accéder à une Worksheet spécifique
  3. Créer un objet Plage
  4. Appelez la méthode UnMerge
  5. Enregistrer le fichier Excel de sortie

L’extrait de code ci-dessous suit ces étapes et montre comment dissocier une plage de cellules dans une feuille de calcul Excel à l’aide de C# :

// Create a workbook
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Create a range
Range range = worksheet.Cells.CreateRange("A1:D4");

// UnMerge range
range.UnMerge();

// Save the workbook
workbook.Save(dataDir + "UnmergeRange.xlsx");

Fusionner les cellules Excel de la plage nommée dans la feuille de calcul avec C#

Parfois, les fichiers Excel contiennent plusieurs plages nommées car il est facile de les identifier et de les manipuler en conséquence. Par conséquent, vous pouvez également fusionner n’importe quelle plage nommée en spécifiant son nom. En conséquence, toutes les cellules de cette plage nommée seront fusionnées en une cellule plus grande. Vous devez suivre ces étapes :

  1. Charger la source Excel Workbook
  2. Accéder à la Feuille de calcul contenant la plage nommée
  3. Définir et appliquer le style
  4. Merge Plage nommée
  5. Enregistrer le fichier de sortie

L’extrait de code ci-dessous explique comment fusionner des cellules dans une plage nommée en C# :

// Load a workbook
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Access the first worksheet
Worksheet worksheet = workbook.Worksheets[0];

// Specify a range
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Get the range.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

// Define a style object.
Style style = workbook.CreateStyle();

// Set the alignment.
style.HorizontalAlignment = TextAlignmentType.Center;

// Create a StyleFlag object.
StyleFlag flag = new StyleFlag();
// Make the relative style attribute ON.
flag.HorizontalAlignment = true;

// Apply the style to the range.
range1.ApplyStyle(style, flag);

// Input data into range.
range1[0, 0].PutValue("Aspose");

// Merge range
range.Merge();

// Save the workbook
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

Le résultat de l’extrait de code ci-dessus sera le même que l’image suivante :

Fusionner la plage nommée

Conclusion

La fusion ou la dissociation de cellules dans les classeurs et feuilles de calcul Excel est une fonctionnalité importante et utile. Nous avons compilé différents cas d’utilisation possibles dans cet article ainsi que toutes les étapes et images. Maintenant, vous pouvez facilement suivre ces étapes et fusionner ou dissocier des cellules, des plages ou des plages nommées dans des fichiers Excel. En cas de question ou de préoccupation, vous pouvez nous contacter via Forum d’assistance gratuit.

Voir également