php execel 导出xml 程序
class Excel_XML
{
private $header = "
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">";
private $footer = "";
private $lines = array ();
private $worksheet_title = "Table1";
private function addRow ($array)
{
// initialize all cells for this row
$cells = "";
// foreach key -> write value into cells
foreach ($array as $k => $v):
$cells .= "
endforeach;
// transform $cells content into one row
$this->lines[] = "
}
public function addArray ($array)
{
// run through the array and add them into rows
foreach ($array as $k => $v):
$this->addRow ($v);
endforeach;
}
public function setWorksheetTitle ($title)
{
// strip out special chars first
$title = preg_replace ("/[|:|/|?|*|[|]]/", "", $title);
// now cut it to the allowed length
$title = substr ($title, 0, 31);
// set title
$this->worksheet_title = $title;
}
function generateXML ($filename)
{
// deliver header (as recommended in php manual)
header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
header("Content-Disposition: inline; filename="" . $filename . ".xls"");
// print out document to the browser
// need to use stripslashes for the damn ">"
echo stripslashes ($this->header);
echo "nn";
n
echo "
echo implode ("n", $this->lines);
echo "
echo $this->footer;
}
}
?>
实例
// include the php-excel class
require (dirname (__FILE__) . "/class-excel-xml.inc.php");
// create a dummy array
$doc = array (
1 => array ("Oliver", "Peter", "Paul"),
array ("Marlene", "Lucy", "Lina")
);
// generate excel file
$xls = new Excel_XML;
$xls->addArray ( $doc );
$xls->generateXML ("mytest");
?>