在导出工作表数据时自动重命名重复列
可能的使用场景
有时用户在将工作表数据导出到数据表时会遇到重复列的问题。数据表不可以有重复列,因此在将工作表数据导出到数据表之前必须重命名重复列。Aspose.Cells可以根据您指定的策略自动重命名重复列,使用ExportTableOptions.RenameStrategy属性。如果指定RenameStrategy.Digit,列将重命名为column1、column2、column3等,如果指定RenameStrategy.Letter,则列将重命名为columnA、columnB、columnC等。
导出工作表数据时自动重命名重复列
以下示例代码将一些数据添加到工作表的前三列,但是所有列都具有相同的名称,即* People *。然后,通过指定 RenameStrategy .Letter 策略将工作表中的数据导出到数据表中。然后打印由 Aspose.Cells 生成的数据表的列名。以下屏幕截图显示了在可视化器中导出的数据表。如您所见,重复的列已更名为 PeopleA、PeopleB 等。
示例代码
// 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); | |
} | |
控制台输出
以下是上述示例代码的控制台输出供参考。
People
PeopleA
PeopleB