Re: [PHP] export data to a ms excel file using php

2008-10-23 Thread gopi krishnan
Hi,

Could any one explain better. I need just the grid lines for the excel
sheet. I already tried that table border=1 but it shows the linings only
to the valued cells. But i need to show the grid as in MS Excel. I tried
TEXT/XML
but i get the following error

---

The XML page cannot be displayed

Cannot view XML input using XSL style sheet. Please correct the error and
then click the Refresh javascript:location.reload() button, or try again
later.
--

A string literal was expected, but no opening quote character was found.
Error processing resource 'http://localhost/dbtoxl...

table border=1tr td width=10025 /tdtd width=100 jana
/tdtd  width=100...


---

thanks in advance


On Thu, Oct 23, 2008 at 3:21 AM, Nitsan Bin-Nun [EMAIL PROTECTED] wrote:

 And what about users who use office version  2003 (which do NOT support
 .xml charts)
 You can google a bit, I'm pretty sure I have already encountered a class
 for this case at Manuel's site (phpclasses).

 Nitsan

 On Wed, Oct 22, 2008 at 9:00 PM, Ashley Sheridan [EMAIL PROTECTED]
  wrote:

 On Wed, 2008-10-22 at 11:20 -0700, Jim Lucas wrote:
  [EMAIL PROTECTED] 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 'trtd /tdtd' . join('/tdtd', $x) . '/td/tr';
  
   foreach ( $x AS $xx ) {
   echo trtd{$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/[EMAIL PROTECTED]/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





Re: [PHP] export data to a ms excel file using php

2008-10-23 Thread gopi krishnan
Dear all,

I found the solution for my problem.
try this core...

---

?php
#Setting MIME Type in header
/*header(Content-Type:  application/vnd.ms-excel); */
header(Content-Type:  application/vnd.ms-excel);
header(Expires: 0);
/*header(Cache-Control: must-revalidate, post-check=0, pre-check=0); */
header(Cache-Control: must-revalidate);


# Connecting to oracle server
$dbh = oci_connect ('TESTDB', 'TESTDB', '//192.168.3.197/ORCL');

# Querry for fetching the column names
$stmt = oci_parse ($dbh, Select COLUMN_NAME from user_tab_columns where
table_name='EMPLOYEE');

# Execution of above statement
oci_execute ($stmt);
$cnt = 1;

# Fetching column names and printing
while ($result = oci_fetch_array($stmt)) {
echo $result['COLUMN_NAME'] . ,;
$cnt = $cnt +1;
}
# Make a new line to write the record sets in the next line
echo \n;

# Querry for fetching the recors sets
$stmt = oci_parse ($dbh, 'select * from employee');

# Here we execute the statement:
oci_execute ($stmt);
$cnt = 1;
/*echo 'table border=1';*/
# Then we fetch rows in a loop until we're done
while ($result = oci_fetch_array($stmt)) {
/*echo gopi, gopi, gopi, gopi, gopi, gopi, gopi \n;*/
   /*echo Employee id  . $result['EID'] .   . $result['FNAME'] .   .
$result['LNAME'] . $result[SALARY] .br;*/
   echo $result['EID'] . , . $result['FNAME'] . , . $result['LNAME'] .
, . $result[SALARY] .\n;
   $cnt = $cnt +1;
}
/*echo '/table';*/
# last we close the database handle
oci_close($dbh);
?

---



On Thu, Oct 23, 2008 at 5:15 PM, Jay Blanchard [EMAIL PROTECTED]wrote:

 [snip]
 Could any one explain better. I need just the grid lines for the excel
 sheet. I already tried that table border=1 but it shows the linings
 only
 to the valued cells. But i need to show the grid as in MS Excel. I tried
 TEXT/XML
 but i get the following error
 [/snip]

 http://evolt.org/node/26896

 Part of the problem is that an empty table cell has no borders. To
 combat this you can test for a value and if it has none place a
 non-breaking space it (nbsp;)