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

Parsing Excel spreadsheet to db

P: n/a
What would one best recommend to parse an existing Excel spreadsheet (was
done in Excel 97 or 2000 not sure to be honest)? I am looking for the most
practical way of parsing an existing spreadsheet to place contents into a
mySQL db.

Thanx, Phil

PS: can you use fopen() to read the contents and parse? The spreadsheet is
on a remote site.
Jul 16 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a

"Phil Powell" <so*****@erols.com> wrote in message
news:aws7b.145605$xf.35957@lakeread04...
What would one best recommend to parse an existing Excel spreadsheet (was
done in Excel 97 or 2000 not sure to be honest)? I am looking for the most practical way of parsing an existing spreadsheet to place contents into a
mySQL db.

Thanx, Phil

PS: can you use fopen() to read the contents and parse? The spreadsheet is
on a remote site.


i don't know how big your spreadsheet is, but you could save the excel
spreadsheet as a "csv" type file, then use fopencsv() to read it, then use
explode() to create columns out of each row (thus giving you a
multi-dimensional array breaking values down to an excel cell)... You could
then use this array as your source data and send it to mysql.
Jul 16 '05 #2

P: n/a
I would, but I have neither Microsoft Excel nor do I have the spreadsheet
locally (were I to do so since not having Excel it would not be able to do
anything with it.)

Since I can't convert it to .csv because of that, what do I do?

Thanx
Phil

"Randell D." <yo**************************@yahoo.com> wrote in message
news:g7***********************@news3.calgary.shaw. ca...

"Phil Powell" <so*****@erols.com> wrote in message
news:aws7b.145605$xf.35957@lakeread04...
What would one best recommend to parse an existing Excel spreadsheet (was done in Excel 97 or 2000 not sure to be honest)? I am looking for the most
practical way of parsing an existing spreadsheet to place contents into a mySQL db.

Thanx, Phil

PS: can you use fopen() to read the contents and parse? The spreadsheet is on a remote site.


i don't know how big your spreadsheet is, but you could save the excel
spreadsheet as a "csv" type file, then use fopencsv() to read it, then use
explode() to create columns out of each row (thus giving you a
multi-dimensional array breaking values down to an excel cell)... You

could then use this array as your source data and send it to mysql.

Jul 16 '05 #3

P: n/a

"Phil Powell" <so*****@erols.com> wrote in message
news:NIv7b.146397$xf.117696@lakeread04...
I would, but I have neither Microsoft Excel nor do I have the spreadsheet
locally (were I to do so since not having Excel it would not be able to do
anything with it.)

Since I can't convert it to .csv because of that, what do I do?

Thanx
Phil

"Randell D." <yo**************************@yahoo.com> wrote in message
news:g7***********************@news3.calgary.shaw. ca...

"Phil Powell" <so*****@erols.com> wrote in message
news:aws7b.145605$xf.35957@lakeread04...
What would one best recommend to parse an existing Excel spreadsheet (was done in Excel 97 or 2000 not sure to be honest)? I am looking for the most
practical way of parsing an existing spreadsheet to place contents
into a mySQL db.

Thanx, Phil

PS: can you use fopen() to read the contents and parse? The
spreadsheet
is on a remote site.


i don't know how big your spreadsheet is, but you could save the excel
spreadsheet as a "csv" type file, then use fopencsv() to read it, then use explode() to create columns out of each row (thus giving you a
multi-dimensional array breaking values down to an excel cell)... You

could
then use this array as your source data and send it to mysql.


If you don't have the Excel file locally, how do you expect PHP to process
it? If you can get it via a hyperlink, then I make the assumption then that
you have an "xls" type file - I don't believe there's an existing function
that would open it for you.

Is it a one off task? If so, and you don't know someone who has Excel to
convert it for you, then try OpenOffice.org (free and works on all versions
of office documents up to Office 2000). Then re-save it as a "csv" type
file.
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet?
Jul 16 '05 #4

P: n/a
See Below

"Randell D." <yo**************************@yahoo.com> wrote in message
news:8p***********************@news3.calgary.shaw. ca...

"Phil Powell" <so*****@erols.com> wrote in message
news:NIv7b.146397$xf.117696@lakeread04...
I would, but I have neither Microsoft Excel nor do I have the spreadsheet
locally (were I to do so since not having Excel it would not be able to do anything with it.)

Since I can't convert it to .csv because of that, what do I do?

Thanx
Phil

"Randell D." <yo**************************@yahoo.com> wrote in message
news:g7***********************@news3.calgary.shaw. ca...

"Phil Powell" <so*****@erols.com> wrote in message
news:aws7b.145605$xf.35957@lakeread04...
> What would one best recommend to parse an existing Excel spreadsheet (was
> done in Excel 97 or 2000 not sure to be honest)? I am looking for the most
> practical way of parsing an existing spreadsheet to place contents

into
a
> mySQL db.
>
> Thanx, Phil
>
> PS: can you use fopen() to read the contents and parse? The

spreadsheet
is
> on a remote site.
>
>

i don't know how big your spreadsheet is, but you could save the excel
spreadsheet as a "csv" type file, then use fopencsv() to read it, then

use explode() to create columns out of each row (thus giving you a
multi-dimensional array breaking values down to an excel cell)... You

could
then use this array as your source data and send it to mysql.


If you don't have the Excel file locally, how do you expect PHP to process
it? If you can get it via a hyperlink, then I make the assumption then

that you have an "xls" type file - I don't believe there's an existing function
that would open it for you.

Is it a one off task? If so, and you don't know someone who has Excel to
convert it for you, then try OpenOffice.org (free and works on all versions of office documents up to Office 2000). Then re-save it as a "csv" type
file.
--
I can't install OpenOffice! the setup.exe file does absolutely nothing. I
went to www.openoffice.org and downloaded the entire package for Windows
2000, and nothing happens. So I'm back to the drawing board!

Phil
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet?

Jul 16 '05 #5

P: n/a
Phil Powell wrote on Tuesday 09 September 2003 23:34:
I can't install OpenOffice! the setup.exe file does absolutely nothing. I
went to www.openoffice.org and downloaded the entire package for Windows
2000, and nothing happens. So I'm back to the drawing board!


There is one other way. If you have or have access to Excel ODBC drivers,
you could set up an ODBC data source pointing to the specified Excel file
with defined tables inside the spreadsheet. Then you could use the ODBC
connection from PHP to access data from Excel spreadsheet like you would to
other databases.

One thing to keep in mind is that - Excel file has a proprietary format. If
you do not have MS Office with Excel, you don't have COM components that
access Excel spreadsheets, you don't have Excel ODBC drivers, and you
cannot install any other applications that would export Excel spreadsheet
to a non-proprietary format (like text CSV or tab-separated file), then you
are running out of ways of accessing data stored in that file format.
--
Business Web Solutions
ActiveLink, LLC
www.active-link.com/intranet/
Jul 16 '05 #6

P: n/a
See below - thanx
Phil

"Zurab Davitiani" <ag*@mindless.com> wrote in message
news:%9*****************@newssvr25.news.prodigy.co m...
Phil Powell wrote on Tuesday 09 September 2003 23:34:
I can't install OpenOffice! the setup.exe file does absolutely nothing. I went to www.openoffice.org and downloaded the entire package for Windows
2000, and nothing happens. So I'm back to the drawing board!

There is one other way. If you have or have access to Excel ODBC drivers,
you could set up an ODBC data source pointing to the specified Excel file
with defined tables inside the spreadsheet. Then you could use the ODBC
connection from PHP to access data from Excel spreadsheet like you would

to other databases.

One thing to keep in mind is that - Excel file has a proprietary format. If you do not have MS Office with Excel, you don't have COM components that
access Excel spreadsheets, you don't have Excel ODBC drivers, and you
cannot install any other applications that would export Excel spreadsheet
to a non-proprietary format (like text CSV or tab-separated file), then you are running out of ways of accessing data stored in that file format.


Exactly. I don't have Office so I wouldn't have the Excel ODBC drivers. I
wound up sending the file to a colleague who converted it for me into CSV.
Hopefully a one-time solution, other than that, I am powerless to do
anything else.

Phil

--
Business Web Solutions
ActiveLink, LLC
www.active-link.com/intranet/

Jul 16 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.