I'm using below code for getting some strings from excel sheet to use them in another worksheet's table as column headers, but some of strings has duplicated and i'd like to change their naming adding suffix _1, _2, ... , _n
//Read Parameter Naming IEnumerable<ClosedXML.Excel.IXLCell> descList = wsRef.Column(1).CellsUsed().Skip(2).Where(c => !string.IsNullOrWhiteSpace(c.CellRight().Value.ToString())); i = 3; //Write Table Headers to Sheet foreach (ClosedXML.Excel.IXLCell desc in descList) { ws.Cell(1, i).Value = desc.CellRight().Value; i += 1; }
General
Extrusion by
Contour profile
Input by
SU2 file
Interpolation
Approximation parameter
Extrusion axis
Depth
Cross section
Input by
SU2 file
Input Function
Material side
Now as you can see some of them duplicated values and i'd like to change namings like below;
General
Extrusion by
Contour profile
Input by
SU2 file
Interpolation
Approximation parameter
Extrusion axis
Depth
Cross section Input by_1 SU2 file_1 Input Function
Material side
Any help would be grateful. Thank you.
C#
Last Comment
it_saige
8/22/2022 - Mon
Norie
Hakan
Probably not the most efficient way but how about something like this.
var myList = new List<string> { "General","Extrusion by","Contour profile","Input by","SU2 file","Interpolation","Approximation parameter","Extrusion axis","Depth","Cross section","Input by","SU2 file","Input Function","Material side" }; var myHeaders = new List<String> {}; Dictionary <string, int> headers = new Dictionary <string, int>(); foreach( var heading in myList){ if(!headers.ContainsKey(heading)){ headers.Add(heading, 0); } else{ headers[heading] = headers[heading] + 1; } if(headers[heading]!=0){ myHeaders.Add(heading + "_"+headers[heading]); } else{ myHeaders.Add(heading); } } myHeaders.ForEach(i => Console.Write("{0}\n", i));
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
Probably not the most efficient way but how about something like this.
Open in new window