|
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
----------------------------------- | |
Share:
|
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" | | |
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"
| | |
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" | | |
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"
| | 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
|
7 posts
views
Thread by Shanli RICHEZ |
last post: by
|
3 posts
views
Thread by B-Dog |
last post: by
|
2 posts
views
Thread by Peter Proost |
last post: by
|
2 posts
views
Thread by zheng |
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
| | | | | | | | | | |