Fusionner et dissocier des cellules avec C++
Introduction
Vous ne souhaitez pas toujours le même nombre de cellules dans chaque ligne ou colonne. Par exemple, vous pouvez vouloir mettre un titre dans une cellule qui s’étend sur plusieurs colonnes. Ou, si vous créez une facture, vous souhaitez peut-être moins de colonnes pour le total. Pour fusionner deux cellules ou plus en une seule cellule, utilisez la fusion. Microsoft Excel permet aux utilisateurs de sélectionner des fichiers et de les fusionner pour structurer le tableur à leur convenance.
Fusion de cellules dans une feuille de calcul
Fusionner des cellules dans Microsoft Excel
Les étapes suivantes décrivent comment fusionner des cellules dans la feuille de calcul à l’aide de MS Excel.
- Copiez les données que vous souhaitez dans la cellule en haut à gauche dans la plage.
- Sélectionnez les cellules que vous souhaitez fusionner.
- Pour fusionner des cellules dans une ligne ou une colonne et centrer le contenu de la cellule, cliquez sur l’icône Fusionner et centrer dans la barre d’outils Mise en forme.
Fusion de cellules avec Aspose.Cells
La classe Aspose::Cells::Cells
possède des méthodes utiles pour cette tâche. Par exemple, la méthode Merge()
fusionne les cellules en une seule dans une plage spécifiée.
L’exemple suivant montre comment fusionner des cellules (C6:E7) dans une feuille de calcul.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a Workbook
Workbook wbk;
// Create a Worksheet and get the first sheet
Worksheet worksheet = wbk.GetWorksheets().Get(0);
// Create a Cells object to fetch all the cells
Cells cells = worksheet.GetCells();
// Merge some Cells (C6:E7) into a single C6 Cell
cells.Merge(5, 2, 2, 3);
// Input data into C6 Cell
worksheet.GetCells().Get(5, 2).PutValue(u"This is my value");
// Create a Style object to fetch the Style of C6 Cell
Style style = worksheet.GetCells().Get(5, 2).GetStyle();
// Create a Font object
Font font = style.GetFont();
// Set the name
font.SetName(u"Times New Roman");
// Set the font size
font.SetSize(18);
// Set the font color
font.SetColor(Color::Blue());
// Bold the text
font.SetIsBold(true);
// Make it italic
font.SetIsItalic(true);
// Set the background color of C6 Cell to Red
style.SetForegroundColor(Color::Red());
style.SetPattern(BackgroundType::Solid);
// Apply the Style to C6 Cell
worksheet.GetCells().Get(5, 2).SetStyle(style);
// Save the Workbook
wbk.Save(outDir + u"mergingcells.out.xls");
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Dissocier (diviser) les cellules fusionnées
Utilisation de Microsoft Excel
Les étapes suivantes décrivent comment diviser les cellules fusionnées à l’aide de Microsoft Excel.
- Sélectionnez la cellule fusionnée. Lorsque les cellules ont été combinées, Fusionner et centrer est sélectionné dans la barre d’outils Mise en forme.
- Cliquez sur Fusionner et centrer dans la barre d’outils Mise en forme.
Utilisation d’Aspose.Cells
La classe Aspose::Cells::Cells
possède une méthode appelée UnMerge()
qui divise les cellules dans leur état d’origine. La méthode dissocie les cellules en utilisant la référence de la cellule dans la plage fusionnée.
L’exemple suivant montre comment diviser les cellules fusionnées (C6). L’exemple utilise le fichier créé dans l’exemple précédent et divise les cellules fusionnées.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String inputFilePath = srcDir + u"mergingcells.xls";
// Path of output excel file
U16String outputFilePath = outDir + u"unmergingcells.out.xls";
// Create a Workbook and open the excel file
Workbook wbk(inputFilePath);
// Get the first worksheet
Worksheet worksheet = wbk.GetWorksheets().Get(0);
// Get the Cells object to fetch all the cells
Cells cells = worksheet.GetCells();
// Unmerge the cells
cells.UnMerge(5, 2, 2, 3);
// Save the file
wbk.Save(outputFilePath);
std::cout << "Cells unmerged successfully!" << std::endl;
Aspose::Cells::Cleanup();
}