Renommez automatiquement les colonnes en double lors de l exportation des données de la feuille de calcul
Scénarios d’utilisation possibles
Parfois, l’utilisateur est confronté à un problème de colonnes en double lors de l’exportation de données de la feuille de calcul vers le tableau de données. DataTable ne peut pas avoir de colonnes en double, donc les colonnes en double doivent être renommées avant de pouvoir exporter les données de la feuille de calcul vers le tableau de données. Aspose.Cells peut renommer automatiquement les colonnes en double selon la stratégie que vous avez spécifiée avec la propriété ExportTableOptions.RenameStrategy. Si vous spécifiez RenameStrategy.Digit, les colonnes seront renommées comme colonne1, colonne2, colonne3, etc. et si vous spécifiez RenameStrategy.Letter, alors les colonnes seront renommées comme colonneA, colonneB, colonneC, etc.
Renommer automatiquement les colonnes en double lors de l’exportation des données de la feuille de calcul
Le code d’exemple suivant ajoute des données dans les trois premières colonnes de la feuille de calcul, mais toutes les colonnes ont le même nom, c’est-à-dire Personnes. Ensuite, il exporte les données de la feuille de calcul vers le tableau de données en spécifiant la stratégie RenameStrategy.Letter. Il imprime ensuite les noms des colonnes du tableau de données généré par Aspose.Cells. La capture d’écran suivante montre le tableau de données avec les données exportées dans le visualiseur. Comme vous pouvez le voir, les colonnes en double ont été renommées en PersonnesA, PersonnesB, etc.
Code d’exemple
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Create a workbook. | |
Workbook wb = new Workbook(); | |
//Access first worksheet. | |
Worksheet ws = wb.Worksheets[0]; | |
//Write the same column name in columns A, B and C. | |
string columnName = "People"; | |
ws.Cells["A1"].PutValue(columnName); | |
ws.Cells["B1"].PutValue(columnName); | |
ws.Cells["C1"].PutValue(columnName); | |
//Insert data in column A, B and C. | |
ws.Cells["A2"].PutValue("Data"); | |
ws.Cells["B2"].PutValue("Data"); | |
ws.Cells["C2"].PutValue("Data"); | |
//Create ExportTableOptions and specify that you want to rename | |
//duplicate column names automatically via RenameStrategy property. | |
ExportTableOptions opts = new ExportTableOptions(); | |
opts.ExportColumnName = true; | |
opts.RenameStrategy = RenameStrategy.Letter; | |
//Export data to data table, duplicate column names will be renamed automatically. | |
System.Data.DataTable dataTable = ws.Cells.ExportDataTable(0, 0, 4, 3, opts); | |
//Now print the column names of the data table generated by Aspose.Cells while exporting worksheet data. | |
for (int i = 0; i < dataTable.Columns.Count; i++) | |
{ | |
Console.WriteLine(dataTable.Columns[i].ColumnName); | |
} | |
Sortie console
Voici la sortie de la console du code d’exemple ci-dessus pour référence.
People
PeopleA
PeopleB