Rinomina automaticamente le colonne duplicate durante l esportazione dei dati del foglio di lavoro

Possibili Scenari di Utilizzo

A volte l’utente si trova di fronte al problema delle colonne duplicate durante l’esportazione dei dati dal foglio di lavoro nella tabella dati. DataTable non può avere colonne duplicate, quindi le colonne duplicate devono essere rinominate prima di poter esportare i dati del foglio di lavoro nella tabella dati. Aspose.Cells può rinominare automaticamente le colonne duplicate in base alla strategia da te specificata con la proprietà ExportTableOptions.RenameStrategy. Se si specifica RenameStrategy.Digit, le colonne verranno rinominate come colonna1, colonna2, colonna3, ecc. e se si specifica RenameStrategy.Letter, le colonne verranno rinominate come colonnaA, colonnaB, colonnaC, ecc.

Rinomina automaticamente le colonne duplicate durante l’esportazione dei dati del foglio di lavoro

Il seguente codice di esempio aggiunge alcuni dati nelle prime tre colonne del foglio di lavoro, ma tutte le colonne hanno lo stesso nome, ovvero Persone. Poi esporta i dati dal foglio di lavoro nella tabella dati specificando la strategia RenameStrategy.Letter. Poi stampa i nomi delle colonne della tabella dati generata da Aspose.Cells. La seguente schermata mostra la tabella dati con i dati esportati nel visualizzatore. Come si può vedere, le colonne duplicate sono state rinominate in PersoneA, PersoneB ecc.

todo:image_alt_text

Codice di Esempio

// 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);
}

Output della console

Ecco l’output della console del codice di esempio sopra come riferimento.

People

PeopleA

PeopleB