Parsing Excel spreadsheet to db

This is a discussion on Parsing Excel spreadsheet to db within the PHP Language forums, part of the PHP Programming Forums category; What would one best recommend to parse an existing Excel spreadsheet (was done in Excel 97 or 2000 not sure ...


Go Back   Usenet Forums > PHP Programming Forums > PHP Language

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 09-10-2003
Phil Powell
 
Posts: n/a
Default Parsing Excel spreadsheet to db

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.


Reply With Quote
  #2 (permalink)  
Old 09-10-2003
Randell D.
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db


"Phil Powell" <soazine@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.


Reply With Quote
  #3 (permalink)  
Old 09-10-2003
Phil Powell
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db

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." <you.can.email.me.at.randelld@yahoo.com> wrote in message
news:g7t7b.932607$3C2.21222945@news3.calgary.shaw. ca...
>
> "Phil Powell" <soazine@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.
>
>



Reply With Quote
  #4 (permalink)  
Old 09-10-2003
Randell D.
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db


"Phil Powell" <soazine@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." <you.can.email.me.at.randelld@yahoo.com> wrote in message
> news:g7t7b.932607$3C2.21222945@news3.calgary.shaw. ca...
> >
> > "Phil Powell" <soazine@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?


Reply With Quote
  #5 (permalink)  
Old 09-10-2003
Phil Powell
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db

See Below

"Randell D." <you.can.email.me.at.randelld@yahoo.com> wrote in message
news:8py7b.933394$3C2.21274441@news3.calgary.shaw. ca...
>
> "Phil Powell" <soazine@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." <you.can.email.me.at.randelld@yahoo.com> wrote in message
> > news:g7t7b.932607$3C2.21222945@news3.calgary.shaw. ca...
> > >
> > > "Phil Powell" <soazine@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?
>
>



Reply With Quote
  #6 (permalink)  
Old 09-10-2003
Zurab Davitiani
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db

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/
Reply With Quote
  #7 (permalink)  
Old 09-10-2003
Phil Powell
 
Posts: n/a
Default Re: Parsing Excel spreadsheet to db

See below - thanx
Phil

"Zurab Davitiani" <agt@mindless.com> wrote in message
news:%9B7b.2891$NS1.2574@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/



Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT +1. The time now is 06:18 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0