467,169 Members | 959 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,169 developers. It's quick & easy.

'Save As' question

I am new to ASP so please pardon me if this is crazy.

I have data that I want to allow the user to be able to save in a format
that will then enable the user to open the data in Excel. (I have already
read the previous CSV posts and still have a question.)

I have an ASP page that takes some data from a previous page,adds some
column headings and displays it all in apparent CSV format.

All I am trying to do is allow the users to do a Save As (for a text or CSV
file) and open it (in Excel) with the proper columns. Somehow, although all
appears OK on the screen, when saving the file, line feeds seem to be added
and all the rows get messed up. If I simply select all the text on the ASP
page and copy it to WordPad, save it, and open it in Excel - all works fine.
Obviously there is some formatting I am overlooking.

Any suggestions would be helpful! (The page can be viewed at
http://primefreight.ca/database1_int...ck_company.asp and
search on TEST COMPANY as the company, press Track and then the Export
button.)

I am baffled and feel I am so close... but getting frustrated.
Thanks for any input!
Aliza
--
-----------------------------------
Aliza Klein
ab*****@optonline.net
-----------------------------------
Jul 19 '05 #1
  • viewed: 3242
Share:
4 Replies
Aliza Klein wrote:
I am new to ASP so please pardon me if this is crazy.

I have data that I want to allow the user to be able to save in a
format that will then enable the user to open the data in Excel. (I
have already read the previous CSV posts and still have a question.)

I have an ASP page that takes some data from a previous page,adds some
column headings and displays it all in apparent CSV format.

All I am trying to do is allow the users to do a Save As (for a text
or CSV file) and open it (in Excel) with the proper columns.
Somehow, although all appears OK on the screen, when saving the file,
line feeds seem to be added and all the rows get messed up. If I
simply select all the text on the ASP page and copy it to WordPad,
save it, and open it in Excel - all works fine. Obviously there is
some formatting I am overlooking.

Any suggestions would be helpful! (The page can be viewed at
http://primefreight.ca/database1_int...ck_company.asp
and search on TEST COMPANY as the company, press Track and then the
Export button.)

While the code used to generate these results would be helpful, I do notice
that the header of the exported page contains this:
content="text/plain"
You would probably be better off setting the content type to
"application/vnd.ms-excel":
Response.ContentType = "application/vnd.ms-excel"

Bob Barrows
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #2
Thanks for the tip. I didn't know I could do that. Unfortunately, the
problem still remains. The code follows (as does the explanation):

<%
tmp = ""
response.contenttype = "application/vnd.ms-excel"
response.write "Container #,Vessel Name,Company Name,House Bill of Lading
#,Shipper,Country,Cargo Control #,ETD Origin,ETA (Halifax/Vancouver),ETA
(Montreal),Revised ETA,Current Location of Cargo,Delivery Status,Customs
Clearance Status,OBL Required,Number of Cartons,Weight (kg),Cubic Meters
(CBM),PO #,PO # (2),Comments #1,Comments #2,Comments #3,Comments #4,Comments
#5,Reference #" & "<BR>"
For each item in Request.form
For icount = 1 to Request.Form(Item).Count
if Item = "export_stuff" then
tmp = tmp & Request.form(item)(icount)
tmp = ConvertString(tmp)
response.write "'" & tmp & "'" & vbCrLF
end if
next

next

%>

<% function ConvertString(strMy)
dim strRetVal
strRetVal = strMy
strRetVal = replace(strRetVal, "!!!","','", 1, -1, 1)
ConvertString = strRetVal
end function
%>

Explanation: Basically, I write a comma delimited string to the screen and
then a string (that I first convert - long story) that containes all the
text that I want that is passed from the previous page. The reason I did it
this way is that I often return more than one record and when I did it field
by field, the data was grouped together (ie: both record's data under 1
field). I hope this makes sense to you.

And thanks!
Aliza
"Bob Barrows" <re******@NOyahoo.SPAMcom> wrote in message
news:%2******************@TK2MSFTNGP10.phx.gbl...
Aliza Klein wrote:
I am new to ASP so please pardon me if this is crazy.

I have data that I want to allow the user to be able to save in a
format that will then enable the user to open the data in Excel. (I
have already read the previous CSV posts and still have a question.)

I have an ASP page that takes some data from a previous page,adds some
column headings and displays it all in apparent CSV format.

All I am trying to do is allow the users to do a Save As (for a text
or CSV file) and open it (in Excel) with the proper columns.
Somehow, although all appears OK on the screen, when saving the file,
line feeds seem to be added and all the rows get messed up. If I
simply select all the text on the ASP page and copy it to WordPad,
save it, and open it in Excel - all works fine. Obviously there is
some formatting I am overlooking.

Any suggestions would be helpful! (The page can be viewed at
http://primefreight.ca/database1_int...ck_company.asp
and search on TEST COMPANY as the company, press Track and then the
Export button.)
While the code used to generate these results would be helpful, I do

notice that the header of the exported page contains this:
content="text/plain"
You would probably be better off setting the content type to
"application/vnd.ms-excel":
Response.ContentType = "application/vnd.ms-excel"

Bob Barrows
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"

Jul 19 '05 #3
Aliza Klein wrote:
Thanks for the tip. I didn't know I could do that. Unfortunately,
the problem still remains. The code follows (as does the
explanation):

<%
tmp = ""
response.contenttype = "application/vnd.ms-excel"
response.write "Container #,Vessel Name,Company Name,House Bill of
Lading #,Shipper,Country,Cargo Control #,ETD Origin,ETA
(Halifax/Vancouver),ETA (Montreal),Revised ETA,Current Location of
Cargo,Delivery Status,Customs Clearance Status,OBL Required,Number of
Cartons,Weight (kg),Cubic Meters (CBM),PO #,PO # (2),Comments
#1,Comments #2,Comments #3,Comments #4,Comments #5,Reference #" &
"<BR>"
For each item in Request.form
For icount = 1 to Request.Form(Item).Count
if Item = "export_stuff" then
tmp = tmp & Request.form(item)(icount)
tmp = ConvertString(tmp)
response.write "'" & tmp & "'" & vbCrLF
end if
next

next

%>

<% function ConvertString(strMy)
dim strRetVal
strRetVal = strMy
strRetVal = replace(strRetVal, "!!!","','", 1, -1, 1)
ConvertString = strRetVal
end function
%>

Explanation: Basically, I write a comma delimited string to the
screen and then a string (that I first convert - long story) that
containes all the text that I want that is passed from the previous
page. The reason I did it this way is that I often return more than
one record and when I did it field by field, the data was grouped
together (ie: both record's data under 1 field). I hope this makes
sense to you.

And thanks!
Aliza


You need to but the data into a table. This works for me:

<%
Response.Buffer=true
Response.ContentType = "application/vnd.ms-excel"
tmp = "Container #,Vessel Name,Company Name," & _
"House Bill of Lading#,Shipper,Country,Cargo Control #," & _
"ETD Origin,ETA (Halifax/Vancouver),ETA(Montreal),Revised ETA," & _
"Current Location of Cargo,Delivery Status," & _
"Customs Clearance Status,OBL Required,Number of Cartons," & _
"Weight (kg),Cubic Meters(CBM),PO #,PO # (2),Comments #1," & _
"Comments #2,Comments #3,Comments #4,Comments #5,Reference #"
Response.Write "<table><tr><td>"
response.write replace(tmp,",","</td><td>")
Response.Write "</td></tr></table>"
%>

HTH,
Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 19 '05 #4
Thanks so much! That set me on the right path!

I am up and running....

Aliza

"Bob Barrows" <re******@NOyahoo.SPAMcom> wrote in message
news:Oy**************@TK2MSFTNGP10.phx.gbl...
Aliza Klein wrote:
Thanks for the tip. I didn't know I could do that. Unfortunately,
the problem still remains. The code follows (as does the
explanation):

<%
tmp = ""
response.contenttype = "application/vnd.ms-excel"
response.write "Container #,Vessel Name,Company Name,House Bill of
Lading #,Shipper,Country,Cargo Control #,ETD Origin,ETA
(Halifax/Vancouver),ETA (Montreal),Revised ETA,Current Location of
Cargo,Delivery Status,Customs Clearance Status,OBL Required,Number of
Cartons,Weight (kg),Cubic Meters (CBM),PO #,PO # (2),Comments
#1,Comments #2,Comments #3,Comments #4,Comments #5,Reference #" &
"<BR>"
For each item in Request.form
For icount = 1 to Request.Form(Item).Count
if Item = "export_stuff" then
tmp = tmp & Request.form(item)(icount)
tmp = ConvertString(tmp)
response.write "'" & tmp & "'" & vbCrLF
end if
next

next

%>

<% function ConvertString(strMy)
dim strRetVal
strRetVal = strMy
strRetVal = replace(strRetVal, "!!!","','", 1, -1, 1)
ConvertString = strRetVal
end function
%>

Explanation: Basically, I write a comma delimited string to the
screen and then a string (that I first convert - long story) that
containes all the text that I want that is passed from the previous
page. The reason I did it this way is that I often return more than
one record and when I did it field by field, the data was grouped
together (ie: both record's data under 1 field). I hope this makes
sense to you.

And thanks!
Aliza


You need to but the data into a table. This works for me:

<%
Response.Buffer=true
Response.ContentType = "application/vnd.ms-excel"
tmp = "Container #,Vessel Name,Company Name," & _
"House Bill of Lading#,Shipper,Country,Cargo Control #," & _
"ETD Origin,ETA (Halifax/Vancouver),ETA(Montreal),Revised ETA," & _
"Current Location of Cargo,Delivery Status," & _
"Customs Clearance Status,OBL Required,Number of Cartons," & _
"Weight (kg),Cubic Meters(CBM),PO #,PO # (2),Comments #1," & _
"Comments #2,Comments #3,Comments #4,Comments #5,Reference #"
Response.Write "<table><tr><td>"
response.write replace(tmp,",","</td><td>")
Response.Write "</td></tr></table>"
%>

HTH,
Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"

Jul 19 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Andras Gilicz | last post: by
9 posts views Thread by Ivan Demkovitch | last post: by
3 posts views Thread by B-Dog | last post: by
2 posts views Thread by Peter Proost | last post: by
5 posts views Thread by C Watson | last post: by
3 posts views Thread by fiefie.niles@gmail.com | last post: by
12 posts views Thread by =?Utf-8?B?RnJlZU5FYXN5?= | last post: by
3 posts views Thread by Koliber (js) | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.