Solved

Problems converting CSV data to HTML table

Posted on 2011-09-20
3
283 Views
Last Modified: 2012-05-12
I have a CSV file that is populated by an HTLM form.  I have been looking for some kind of script that I can use to import this comma delimited data into an HTML table.  I found a sample program on the Internet, but it has problems.  Can you tell me what is wrong with this code?  It reads the first line of the CSV data and creates the column headers.  It reads the second line and puts it into the table, but it puts the Email from the second line and the date from the third line under the Email column.  It puts the remainder of the third line under the wrong columns because it already used the date on the second row.  It only reads part of the third line of data.  This is the URL, if you want to look at the results.
http://ww2.nscc.edu/smith_judy/csvconverter.asp .  I have attached the CSV data file.

Thanks,
Judy
 formdata.csv
<title>CodeAve.com(CSV to HTML)</title>
<body bgcolor="#FFFFFF">
<%
csv_to_read="formdata.csv"
set fso = createobject("scripting.filesystemobject")
set act = fso.opentextfile(server.mappath(csv_to_read))

imported_text = act.readline
'Read the first line of the csv, typically these are colum headings

imported_text = replace(imported_text,chr(13),",")
'Change the line breaks to commas to delimit through-out

imported_text = replace(imported_text,chr(34),"")
'Remove al quotes (If your csv has quotes other than to seperate text
'You may want to remove this modifier to the imported text

split_text=split(imported_text,",")
'Split the top line by comma

num_imported=ubound(split_text)+1
'Count the number of splits and add one for the last element

total_imported_text = act.readall
'Read the rest of the csv

total_imported_text = replace(total_imported_text,chr(13),",")
'Change the line breaks to commas to delimit through-out

total_imported_text = replace(total_imported_text,chr(34),"")
'Remove al quotes (If your csv has quotes other than to seperate text
'You may want to remove this modifier to the imported text

total_split_text=split(total_imported_text,",")
'Split the file up by comma

total_num_imported=ubound(total_split_text)
'Count the number of splits 
'This will be the numer of cells in the table
%>
<table width="100%">
<tr>
<%
for table = 0 to num_imported -1
'This will create a table cell for each column in the csv
' (-1 is used because arrays begin with 0)
%>
<td width="<% response.write 100/(num_imported) 'make the cell widths even %>%">
<b><%= split_text(count) %></b>
</td>
<% 
count=count+1
next 
%>
</tr>
<tr>
<%
'Reset the counter
count=0
' This will determine how many rows are in the csv
for tablea = 0 to (total_num_imported/ (num_imported)-1)
%>
<%
for table = 0 to num_imported -1
'This will create a table cell for each column in the csv
' (-1 is used because arrays begin with 0)
%><td width="<%= 100/(num_imported) %>%">
<%= total_split_text(count) 
%>
</td>
<% 
count=count+1
next ' end of the observation 
%></tr>
<% next 'end of the csv %>
</table>

Open in new window

0
Comment
Question by:smith2001ja
  • 2
3 Comments
 
LVL 22

Expert Comment

by:Kim Walker
ID: 36567436
What is the source of your .csv file? Line 11 should be converting your line breaks to commas but doesn't appear to be doing so. Your file may have new lines chr(10) but no carriage returns chr(13). Try changing line 11 to replace new lines.

imported_text = replace(imported_text,chr(10),",")

Open in new window

0
 

Author Comment

by:smith2001ja
ID: 36568381
The source of my CSV file is the attached formdata.csv.  Formdata.csv is generated by an HTML web form.  I made the change you suggested and I am still getting the same results.  What next?
0
 
LVL 22

Accepted Solution

by:
Kim Walker earned 500 total points
ID: 36568473
I just noticed a redundancy. Line 11 is apparently for the header row only. Try doing the same thing to line 27.

I have confirmed that the lines end with a new line instead of a carriage return.
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
This article discusses how to create an extensible mechanism for linked drop downs.
In this tutorial viewers will learn how to position overlapping items using z-index in CSS. They will also learn the restrictions on the z-index property.  Create a new HTML document with an internal stylesheet.: Create a div in CSS and name it Red.…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question