By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,742 Members | 773 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,742 IT Pros & Developers. It's quick & easy.

export data to Excel

P: n/a
Hi experts,

I retrieve data from the database and display on ASP, then I export these
data to a file, like Excel (the best) or text file. Is it possible? I think
it is possible, but how can I do that? Thanks for any help.

Atse
Jul 19 '05 #1
Share this Question
Share on Google+
14 Replies


P: n/a
There are a couple of things you can do.

1. Build your data in a table and add this to the top of your page:
<% Response.ContentType = "application/vnd.ms-excel" %>
2. Build yourself a comma delimited string and save the string to a file
with a .csv file and link to it.

3. Use Office Web Components:
http://office.microsoft.com/downloads/2002/owc10.aspx. Before you'd go that
route, read here though. http://support.microsoft.com/?id=317316

If you need more details on 1 or 2, post back with a sample of your data
querying and what not.

Ray at home
"atse" <du******@yahoo.com> wrote in message
news:7V**********************@news01.bloor.is.net. cable.rogers.com...
Hi experts,

I retrieve data from the database and display on ASP, then I export these
data to a file, like Excel (the best) or text file. Is it possible? I think it is possible, but how can I do that? Thanks for any help.

Atse

Jul 19 '05 #2

P: n/a
Thanks Ray. I remember you have given me great helps before. Yes, I really
want to export a csv file.
I have big csv files containing customers' contact info. I want to export
them by zip code and type to respective csv files. What is the simplest way
to do that? Thanks again.

Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:O6**************@TK2MSFTNGP11.phx.gbl...
There are a couple of things you can do.

1. Build your data in a table and add this to the top of your page:
<% Response.ContentType = "application/vnd.ms-excel" %>
2. Build yourself a comma delimited string and save the string to a file
with a .csv file and link to it.

3. Use Office Web Components:
http://office.microsoft.com/downloads/2002/owc10.aspx. Before you'd go that route, read here though. http://support.microsoft.com/?id=317316

If you need more details on 1 or 2, post back with a sample of your data
querying and what not.

Ray at home
"atse" <du******@yahoo.com> wrote in message
news:7V**********************@news01.bloor.is.net. cable.rogers.com...
Hi experts,

I retrieve data from the database and display on ASP, then I export these data to a file, like Excel (the best) or text file. Is it possible? I

think
it is possible, but how can I do that? Thanks for any help.

Atse


Jul 19 '05 #3

P: n/a
I will pretend that you have data as such:

CustID Firstname Lastname Address City State ZIP
1 Bo Brady 1 Street Somewhere XX 10001
2 Hope Brady 1 Street Somewhere XX 10001
3 Jack Deveraux 2 Road Somewhere XX 10002
4 Jennifer Deveraux 2 Road Somewhere XX 10002
5 Abe Carver 3 Ave. Somewhere XX 10003
6 Lexie Carver 3 Ave. Somewhere XX 10003
7 Tony Dimera 4 Lane Somewhere XX 10004
8 Rex Dimera 5 Way Somewhere XX 10005
9 Cassie Dimera 4 Lane Somewhere XX 10004
10 Greta Von Amberg 6 Swamp Somewhere XX 10006


So, like, you want a bunch of files like:
10001.csv, 10002.csv, etc.? Maybe something like this:

<object runat="server" progid="Scripting.FileSystemObject"
id="oFSO"></object>
<%

Dim oADO, oRS
Dim sOutput
Dim aZIPs, i, sZIP

Const OUTPUT_PATH = "D:\Path\"
sSQL = "SELECT DISTINCT(ZIP) FROM Customers"
Set oADO = Server.CreateObject("ADODB.Connection")
oADO.Open YourConnectionString
Set oRS = oADO.Execute(sSQL)
aZIPs = oRS.GetRows()
oRS.Close : Set oRS = Nothing

For i = 0 To UBound(aZIPs, 2)
sZIP = aZIPs(0, i)
sSQL = "SELECT CustID,Firstname,Lastname,Address,City,State,ZIP FROM
Customers WHERE ZIP='" & sZIP & "'"
Set oRS = oADO.Execute(sSQL)
sOutput = oRS.GetString(,,",",vbCrLf)
oRS.Close : Set oRS = Nothing
oFSO.CreateTextFile(OUTPUT_PATH & sZIP & ".csv", True).Write sOutput
Response.Write "<a href=""" & sZIP & ".csv"">Click here to download CSV
for ZIP code " & sZIP & "</a><br>"
Next

oADO.Close : Set oADO = Nothing
%>

What that'll do is get all the zips, then loop through them all, query all
the data for each zip, and write a CSV from each resultset.

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:n8*********************@news01.bloor.is.net.c able.rogers.com...
Thanks Ray. I remember you have given me great helps before. Yes, I really
want to export a csv file.
I have big csv files containing customers' contact info. I want to export
them by zip code and type to respective csv files. What is the simplest way to do that? Thanks again.

Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:O6**************@TK2MSFTNGP11.phx.gbl...
There are a couple of things you can do.

1. Build your data in a table and add this to the top of your page:
<% Response.ContentType = "application/vnd.ms-excel" %>
2. Build yourself a comma delimited string and save the string to a file
with a .csv file and link to it.

3. Use Office Web Components:
http://office.microsoft.com/downloads/2002/owc10.aspx. Before you'd go

that
route, read here though. http://support.microsoft.com/?id=317316

If you need more details on 1 or 2, post back with a sample of your data
querying and what not.

Ray at home
"atse" <du******@yahoo.com> wrote in message
news:7V**********************@news01.bloor.is.net. cable.rogers.com...
Hi experts,

I retrieve data from the database and display on ASP, then I export

these data to a file, like Excel (the best) or text file. Is it possible? I

think
it is possible, but how can I do that? Thanks for any help.

Atse



Jul 19 '05 #4

P: n/a
Great! Ray.

You know what I want!! Ok, what if retrieve from a .csv (e.g. customer.csv)
file, instead of the SQL db?
Further questions are:

1. I don't know how many groups of Zip (your example has group10001, group
10002..group 10006. totally 6 groups), and I want to export 6 files, like
10001.csv; ... 10006.csv which means the number of output file .csv would be
a variable.

2. If there is no field name in a .csv file but column/comma/table or A, B,
C...X in an Excel file, how can I select them?

3. Actually I have another field name "language" (eng/fre), I want them to
be exported to files eng_10001.csv, eng_10002.csv, fre_10001.csv,
fre_10003.csv. Is it possible for me to do that. Of course, I am sure you
can.

Thanks again!
Cheers,

Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:%2******************@TK2MSFTNGP11.phx.gbl...
I will pretend that you have data as such:

CustID Firstname Lastname Address City State ZIP
1 Bo Brady 1 Street Somewhere XX 10001
2 Hope Brady 1 Street Somewhere XX 10001
3 Jack Deveraux 2 Road Somewhere XX 10002
4 Jennifer Deveraux 2 Road Somewhere XX 10002
5 Abe Carver 3 Ave. Somewhere XX 10003
6 Lexie Carver 3 Ave. Somewhere XX 10003
7 Tony Dimera 4 Lane Somewhere XX 10004
8 Rex Dimera 5 Way Somewhere XX 10005
9 Cassie Dimera 4 Lane Somewhere XX 10004
10 Greta Von Amberg 6 Swamp Somewhere XX 10006


So, like, you want a bunch of files like:
10001.csv, 10002.csv, etc.? Maybe something like this:

<object runat="server" progid="Scripting.FileSystemObject"
id="oFSO"></object>
<%

Dim oADO, oRS
Dim sOutput
Dim aZIPs, i, sZIP

Const OUTPUT_PATH = "D:\Path\"
sSQL = "SELECT DISTINCT(ZIP) FROM Customers"
Set oADO = Server.CreateObject("ADODB.Connection")
oADO.Open YourConnectionString
Set oRS = oADO.Execute(sSQL)
aZIPs = oRS.GetRows()
oRS.Close : Set oRS = Nothing

For i = 0 To UBound(aZIPs, 2)
sZIP = aZIPs(0, i)
sSQL = "SELECT CustID,Firstname,Lastname,Address,City,State,ZIP FROM
Customers WHERE ZIP='" & sZIP & "'"
Set oRS = oADO.Execute(sSQL)
sOutput = oRS.GetString(,,",",vbCrLf)
oRS.Close : Set oRS = Nothing
oFSO.CreateTextFile(OUTPUT_PATH & sZIP & ".csv", True).Write sOutput
Response.Write "<a href=""" & sZIP & ".csv"">Click here to download CSV for ZIP code " & sZIP & "</a><br>"
Next

oADO.Close : Set oADO = Nothing
%>

What that'll do is get all the zips, then loop through them all, query all
the data for each zip, and write a CSV from each resultset.

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:n8*********************@news01.bloor.is.net.c able.rogers.com...
Thanks Ray. I remember you have given me great helps before. Yes, I really
want to export a csv file.
I have big csv files containing customers' contact info. I want to export them by zip code and type to respective csv files. What is the simplest

way
to do that? Thanks again.

Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:O6**************@TK2MSFTNGP11.phx.gbl...
There are a couple of things you can do.

1. Build your data in a table and add this to the top of your page:
<% Response.ContentType = "application/vnd.ms-excel" %>
2. Build yourself a comma delimited string and save the string to a file with a .csv file and link to it.

3. Use Office Web Components:
http://office.microsoft.com/downloads/2002/owc10.aspx. Before you'd go that
route, read here though. http://support.microsoft.com/?id=317316

If you need more details on 1 or 2, post back with a sample of your

data querying and what not.

Ray at home
"atse" <du******@yahoo.com> wrote in message
news:7V**********************@news01.bloor.is.net. cable.rogers.com...
> Hi experts,
>
> I retrieve data from the database and display on ASP, then I export

these
> data to a file, like Excel (the best) or text file. Is it possible? I think
> it is possible, but how can I do that? Thanks for any help.
>
> Atse
>
>



Jul 19 '05 #5

P: n/a

"atse" <du******@yahoo.com> wrote in message
news:Nh*****************@news04.bloor.is.net.cable .rogers.com...
Great! Ray.

You know what I want!! Ok, what if retrieve from a .csv (e.g. customer.csv) file, instead of the SQL db?
8|
You're storing your customer data in a text file? 8| 8| 8!
I suppose you could use a text connection string and try that.
http://www.connectionstrings.com/
Further questions are:

1. I don't know how many groups of Zip (your example has group10001, group
10002..group 10006. totally 6 groups), and I want to export 6 files, like
10001.csv; ... 10006.csv which means the number of output file .csv would be a variable.
IN what I posted, that number is not known either. That is what the first
query determines. (select count(distinct) zip...)

2. If there is no field name in a .csv file but column/comma/table or A, B, C...X in an Excel file, how can I select them?
What do you mean?


3. Actually I have another field name "language" (eng/fre), I want them to
be exported to files eng_10001.csv, eng_10002.csv, fre_10001.csv,
fre_10003.csv. Is it possible for me to do that. Of course, I am sure you
can.


Yes, bring in that column and name your file
rs.fields.item("language").value & "_" & sZIP & ".csv."
Ray at home
Jul 19 '05 #6

P: n/a
> > You know what I want!! Ok, what if retrieve from a .csv (e.g.
customer.csv)
file, instead of the SQL db?
8|
You're storing your customer data in a text file? 8| 8| 8!
I suppose you could use a text connection string and try that.
http://www.connectionstrings.com/


Yes, the data are mostly csv, dat or text format. Do I have to convert them
to a unique format?
Further questions are:

1. I don't know how many groups of Zip (your example has group10001, group 10002..group 10006. totally 6 groups), and I want to export 6 files, like 10001.csv; ... 10006.csv which means the number of output file .csv
would be
a variable.


IN what I posted, that number is not known either. That is what the first
query determines. (select count(distinct) zip...)
2. If there is no field name in a .csv file but column/comma/table or A,

B,
C...X in an Excel file, how can I select them?


What do you mean?


I mean the data file doesn't have the field(column) name, but separated by
comma or tab. If it is open with Excel, you will see column A, B...X. Then,
how can I do the query string
"select [something] from [what] where [what] = '"& sZIP & "' and [what] ='"&
Lang&"'"

Having exported a file on D:\path\eng_10001.csv, how can I make it
downloadable when the wwwroot is on C:\inetpub\

Thanks,

Atse
Jul 19 '05 #7

P: n/a

"atse" <du******@yahoo.com> wrote in message
news:3j**********************@news01.bloor.is.net. cable.rogers.com...
You know what I want!! Ok, what if retrieve from a .csv (e.g. customer.csv)
file, instead of the SQL db?


8|
You're storing your customer data in a text file? 8| 8| 8!
I suppose you could use a text connection string and try that.
http://www.connectionstrings.com/


Yes, the data are mostly csv, dat or text format. Do I have to convert

them to a unique format?
No, it's just a bit odd in my opinion that you wouldn't be using a
database - Access at least.

2. If there is no field name in a .csv file but column/comma/table or
A, B,
C...X in an Excel file, how can I select them?
What do you mean?


I mean the data file doesn't have the field(column) name, but separated by
comma or tab. If it is open with Excel, you will see column A, B...X.

Then, how can I do the query string
"select [something] from [what] where [what] = '"& sZIP & "' and [what] ='"& Lang&"'"


Is converting to a database an option here? Even if that's only 1% feasable
for whatever reason, go with that 1%. Excel files, csv files, text files,
etc. are all great for storing a little bit of data and using it for
personal use, but driving a website off such data is going to lead to
multiple headaches. Again, just my opinion! :]

Ray at home
Jul 19 '05 #8

P: n/a
> Is converting to a database an option here? Even if that's only 1%
feasible
for whatever reason, go with that 1%. Excel files, csv files, text files,
etc. are all great for storing a little bit of data and using it for
personal use, but driving a website off such data is going to lead to
multiple headaches. Again, just my opinion! :]

Ray at home


Yes, I ever thought of this way, and I have to do that if no other choice.
The problem is about the format of the customer info in the .csv of .txt
files. For example, in the .csv file, sometimes the first column is the
title, the 2nd the last name... and totally there are 10 columns. But
another, there may be 9 or 11 columns and in the different column position.
How can I import the files to db? How can I know how many columns there are
in this file?
Thanks for any idea?

Atse

By the way, can you please show me the Excel connection string. I did try
one from http://www.connectionstrings.com/
but it somehow doesn't work. It complaint with below:

Microsoft JET Database Engine error '80040e37'

The Microsoft Jet database engine could not find the object 'xls'. Make sure
the object exists and that you spell its name and the path name correctly.

/list_item.asp, line 9

the connection is below:

con_xls="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\'test.xls;Extended
Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
set conn=server.CreateObject("ADODB.Connection")
conn.open(con_xls)

'line 9 in list_item.asp

set rs = conn.execute ("select * from test.xls")


Jul 19 '05 #9

P: n/a
You have an erroneous ' in your connection string there, right after D:\.

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:Ng*******************@news04.bloor.is.net.cab le.rogers.com...

Microsoft JET Database Engine error '80040e37'

The Microsoft Jet database engine could not find the object 'xls'. Make sure the object exists and that you spell its name and the path name correctly.

/list_item.asp, line 9

the connection is below:

con_xls="Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=D:\'test.xls;Extended
Jul 19 '05 #10

P: n/a
Sorry, I copy and paste by mistake only. It wouldn't be there in my file.
Any other problem? Thanks
Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:uP**************@TK2MSFTNGP10.phx.gbl...
You have an erroneous ' in your connection string there, right after D:\.

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:Ng*******************@news04.bloor.is.net.cab le.rogers.com...

Microsoft JET Database Engine error '80040e37'

The Microsoft Jet database engine could not find the object 'xls'. Make

sure
the object exists and that you spell its name and the path name correctly.
/list_item.asp, line 9

the connection is below:

con_xls="Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=D:\'test.xls;Extended

Jul 19 '05 #11

P: n/a
IIRC, you were using a "file" variable in your querystring. And I assume
that was used in building your connection string. So, it sounds to me that
the variable was empty.

Response.Write YourConnectionStringVariable
Response.End

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:wh**********************@news01.bloor.is.net. cable.rogers.com...
Sorry, I copy and paste by mistake only. It wouldn't be there in my file.
Any other problem? Thanks
Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:uP**************@TK2MSFTNGP10.phx.gbl...
You have an erroneous ' in your connection string there, right after D:\.

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:Ng*******************@news04.bloor.is.net.cab le.rogers.com...

Microsoft JET Database Engine error '80040e37'

The Microsoft Jet database engine could not find the object 'xls'.
Make sure
the object exists and that you spell its name and the path name

correctly.
/list_item.asp, line 9

the connection is below:

con_xls="Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=D:\'test.xls;Extended


Jul 19 '05 #12

P: n/a
I did try that too. It displays a correct string.

"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:uw**************@tk2msftngp13.phx.gbl...
IIRC, you were using a "file" variable in your querystring. And I assume
that was used in building your connection string. So, it sounds to me that the variable was empty.

Response.Write YourConnectionStringVariable
Response.End

Ray at home

"atse" <du******@yahoo.com> wrote in message
news:wh**********************@news01.bloor.is.net. cable.rogers.com...
Sorry, I copy and paste by mistake only. It wouldn't be there in my file.
Any other problem? Thanks
Atse
"Ray at <%=sLocation%>" <myfirstname at lane 34 . komm> wrote in message
news:uP**************@TK2MSFTNGP10.phx.gbl...
You have an erroneous ' in your connection string there, right after

D:\.
Ray at home

"atse" <du******@yahoo.com> wrote in message
news:Ng*******************@news04.bloor.is.net.cab le.rogers.com...

>
> Microsoft JET Database Engine error '80040e37'
>
> The Microsoft Jet database engine could not find the object 'xls'. Make sure
> the object exists and that you spell its name and the path name

correctly.
>
> /list_item.asp, line 9
>
>
>
> the connection is below:
>
> con_xls="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\'test.xls;Extended



Jul 19 '05 #13

P: n/a
also worth checking out http://www.greggriffiths.org/webdev/both/excel/

atse wrote:
Hi experts,

I retrieve data from the database and display on ASP, then I export these
data to a file, like Excel (the best) or text file. Is it possible? I think
it is possible, but how can I do that? Thanks for any help.

Atse


Jul 19 '05 #14

P: n/a
"atse" <du******@yahoo.com> wrote in message news:<7V**********************@news01.bloor.is.net .cable.rogers.com>...
Hi experts,

I retrieve data from the database and display on ASP, then I export these
data to a file, like Excel (the best) or text file. Is it possible? I think
it is possible, but how can I do that? Thanks for any help.

Atse


Atse,

SoftArtisans ExcelWriter can do exactly that... database-to-Excel web
reports, and you don't need to have Excel installed on the web server.

http://officewriter.softartisans.com/

-chris
Jul 19 '05 #15

This discussion thread is closed

Replies have been disabled for this discussion.