Parsing Excel spreadsheet to db – PHP

  php

Q(Question):

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.

A(Answer):

"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.

A(Answer):

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.

A(Answer):

"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?

A(Answer):

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?

A(Answer):

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/

A(Answer):

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/

LEAVE A COMMENT