Re: export data to a ms excel file using php

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2008-10-22 at 11:20 -0700, Jim Lucas wrote:
> www.gopi.com@xxxxxxxxx wrote:
> > Hi,
> > 
> > I have tried your MS-Excel MIME type in PHP. But am facing a small problem. I can't get the grid lines as look like in normal Excel file. 
> > 
> > Am using windows XP, Internet explorer 6.0, MS Excel 2003
> > 
> > Thanks in advance.-- Jim Lucas wrote : 
> > abderrazzak nejeoui wrote:
> >> can you help me to export data to a ms excel file using php. i tried to
> >> export them to an html format and change the extension to .xls that's work
> >> but i have lost the formatting
> >>
> >> excel and the navigator doesn't interpret my code in the same why (celles
> >> are not in the same size)
> >>
> > 
> > Ok, so with the examples of others here, here is the shortest example that I came up with that
> > should get you going.
> > 
> > <?php
> > 
> > header("Content-Type:  application/vnd.ms-excel");
> > header("Expires: 0");
> > header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
> > 
> > $x = $y = range(0, 12);
> > 
> > echo '<table>';
> > 
> > echo '<tr><td> </td><td>' . join('</td><td>', $x) . '</td></tr>';
> > 
> > foreach ( $x AS $xx ) {
> > 	echo "<tr><td>{$xx}</td>";
> > 	foreach ( $y AS $yy ) {
> > 		echo "<td>=sum(".(chr(ord('b')+$yy))."1*a".($xx+2).")</td>";
> > 	}
> > 	echo "</tr>";
> > }
> > echo '</table>';
> > 
> > ?>
> > 
> > This will output a 14x14 table.  It will calculate the totals for each cell in the actual
> > spreadsheet once excel loads it.
> > 
> > If you have any questions, ask away.
> > 
> 
> You could change this line
> 
> echo '<table>';
> 
> to this
> 
> echo '<table border="1">';
> 
> This will give you borders around your content at least.
> 
> Example:
> http://www.cmsws.com/examples/php/testscripts/www.gopi.com@xxxxxxxxx/0001.php
> 
> I would checkout phpexcel also
> 
> -- 
> Jim Lucas
> 
>    "Some men are born to greatness, some achieve greatness,
>        and some have greatness thrust upon them."
> 
> Twelfth Night, Act II, Scene V
>     by William Shakespeare
> 
> 
I think you really need to save the file as an XML file, with the
text/xml mime-type. Then, save an Excel file in the M$ Office 2003 XML
file-type (not the 2007 xlsx!) and look at the code it produces and try
to mimic that output as closely as possible. All you're doing is
creating an HTML table and hoping Excel knows what to do with it, which
is a bit like creating an image, sending it to the browser with a PDF
mime and hoping it will open up in Adobe Reader; just not gonna work
that way!

Your best bet by far though, is to use a pre-built Excel export class.
Take a look at PEAR of PHPLib, as these both have classes that do what
you need.


Ash
www.ashleysheridan.co.uk


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux