Byt namn på dubbla kolumner automatiskt vid export av kalkylbladsdata
Möjliga användningsscenario
Ibland stöter användare på problemet med dubbla kolumner vid export av data från kalkylblad till datatabell. DataTable kan inte ha dubbla kolumner, så dubbla kolumner måste döpas om innan du kan exportera kalkylbladsdata till datatabell. Aspose.Cells kan automatiskt döpa om dubbla kolumner enligt en av den specificerade strategin med egenskapen ExportTableOptions.RenameStrategy.Om du specificerar RenameStrategy.Digit kommer kolumnerna att döpas om som kolumn1, kolumn2, kolumn3, etc. och om du specificerar RenameStrategy.Letter, kommer kolumnerna att döpas om som kolumnA, kolumnB, kolumnC, etc.
Ändra namn automatiskt på dubbletter av kolumner vid export av kalkylbladsdata
Följande provkod lägger till lite data i de tre första kolumnerna i kalkylbladet men alla kolumner har samma namn, dvs. Folk. Sedan exporterar den datan från kalkylbladet till datatabell genom att ange RenameStrategy.Letter strategin. Sedan skriver den ut kolumnnamnen i den datatabell som genererats av Aspose.Cells. Följande skärmbild visar datatabellen med exporterad data i visualiseraren. Som du kan se har dubbla kolumner bytt namn till FolkA, FolkB osv.
Exempelkod
// 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); | |
} | |
Konsoloutput
Här är konsolens utmatning av ovanstående provkod som referens.
People
PeopleA
PeopleB