Automatisches Umbenennen von Duplikatspalten beim Exportieren von Arbeitsblattdaten lernen
Mögliche Verwendungsszenarien
Manchmal hat der Benutzer ein Problem mit Duplikatspalten beim Exportieren von Daten aus dem Arbeitsblatt in die Datentabelle. DataTable kann keine Duplikatspalten haben, daher müssen Duplikatspalten umbenannt werden, bevor Sie Arbeitsblattdaten in die Datentabelle exportieren können. Aspose.Cells kann die Duplikatspalten automatisch entsprechend der von Ihnen angegebenen Strategie mit ExportTableOptions.RenameStrategy Eigenschaft umbenennen. Wenn Sie RenameStrategy.Digit angeben, werden die Spalten wie Spalte1, Spalte2, Spalte3 usw. umbenannt, und wenn Sie RenameStrategy.Letter angeben, werden die Spalten wie SpalteA, SpalteB, SpalteC usw. umbenannt.
Benennen Sie doppelte Spalten automatisch um, während Sie Arbeitsblattdaten exportieren
Im folgenden Beispielcode werden einige Daten in die ersten drei Spalten des Arbeitsblatts eingefügt, aber alle Spalten haben denselben Namen, d.h. People. Dann werden die Daten aus dem Arbeitsblatt in die Datentabelle exportiert und die Strategie RenameStrategy.Letter angegeben. Anschließend werden die Spaltennamen der von Aspose.Cells generierten Datentabelle gedruckt. Der folgende Screenshot zeigt die Datentabelle mit exportierten Daten im Visualizer. Wie Sie sehen können, wurden die Duplikatspalten in PeopleA, PeopleB usw. umbenannt.
Beispielcode
// 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); | |
} | |
Konsolenausgabe
Hier ist die Konsolenausgabe des obigen Beispielcodes als Referenz.
People
PeopleA
PeopleB