?
Solved

Problems converting CSV data to HTML table

Posted on 2011-09-20
3
Medium Priority
?
285 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 2000 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

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This is a PowerShell web interface I use to manage some task as a network administrator. Clicking an action button on the left frame will display a form in the middle frame to input some data in textboxes, process this data in PowerShell and display…
This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
In this tutorial viewers will learn how to position items using CSS's three positioning types Create a new HTML document with an internal stylesheet.: Create another div in CSS and name it Absolute : Type "position:absolute;" and "top:10px; left:50p…
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.…

777 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