Sample code for 30+ languages & platforms
Classic ASP

CSV Insert Column

See more CSV Examples

Insert a new column into an existing CSV.

Note: This example requires Chilkat v9.5.0.89 or greater because the InsertColumn method was added in v9.5.0.89.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

set csv = Server.CreateObject("Chilkat.Csv")

'  Load the following CSV:

'   Name;City;Weight
'   John;Chicago;180
'   Lisa;Denver;120

'  Indicate that the 1st line contains column names.
csv.HasColumnNames = 1
success = csv.LoadFile("qa_data/csv/insertColumnTest.csv")

'  We can insert a column before the 1st column.
success = csv.InsertColumn(0)

Response.Write "<pre>" & Server.HTMLEncode( csv.SaveToString()) & "</pre>"

'  The CSV now looks like this:

'   ;Name;City;Weight
'   ;John;Chicago;180
'   ;Lisa;Denver;120

'  Set the cells in column 0.

col = 0
success = csv.SetColumnName(col,"id")
success = csv.SetCell(0,col,"100")
success = csv.SetCell(1,col,"101")

Response.Write "<pre>" & Server.HTMLEncode( csv.SaveToString()) & "</pre>"

'  We now have:

'   id;Name;City;Weight
'   100;John;Chicago;180
'   101;Lisa;Denver;120

'  Insert a new column between City and Weight
'  In other words, add a new column before the Weight column.
weightColumn = csv.GetIndex("Weight")
Response.Write "<pre>" & Server.HTMLEncode( "Weight Column Index = " & weightColumn) & "</pre>"
success = csv.InsertColumn(weightColumn)

Response.Write "<pre>" & Server.HTMLEncode( csv.SaveToString()) & "</pre>"

'  We now have:

'   id;Name;City;;Weight
'   100;John;Chicago;;180
'   101;Lisa;Denver;;120

'  Set the cells in the new column:

success = csv.SetColumnName(weightColumn,"Height")
success = csv.SetCell(0,weightColumn,"6' 2""")
success = csv.SetCell(1,weightColumn,"5' 7""")

Response.Write "<pre>" & Server.HTMLEncode( csv.SaveToString()) & "</pre>"

'  We now have:

'   id;Name;City;Height;Weight
'   100;John;Chicago;"6' 2""";180
'   101;Lisa;Denver;"5' 7""";120

%>
</body>
</html>