Автоматическое переименование повторяющихся столбцов при экспорте данных листа

Возможные сценарии использования

Иногда пользователь сталкивается с проблемой дублирования столбцов при экспорте данных из рабочего листа в таблицу данных. DataTable не может иметь повторяющихся столбцов, поэтому повторяющиеся столбцы необходимо переименовать, прежде чем вы сможете экспортировать данные рабочего листа в таблицу данных. Aspose.Cells может автоматически переименовывать повторяющиеся столбцы в соответствии со стратегией, указанной вами с помощьюExportTableOptions.RenameStrategy имущество. Если вы укажетеRenameStrategy .Digit, столбцы будут переименованы как столбец1, столбец2, столбец3 и т. д., и если вы укажетеRenameStrategy.Letter, тогда столбцы будут переименованы как столбец A, столбец B, столбец C и т. д.

Автоматическое переименование повторяющихся столбцов при экспорте данных листа

Следующий пример кода добавляет некоторые данные в первые три столбца рабочего листа, но все столбцы имеют одинаковое имя, т.е.Люди . Затем он экспортирует данные из рабочего листа в таблицу данных, указавRenameStrategy.Письмо стратегии. Затем он печатает имена столбцов таблицы данных, сгенерированной 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