也許你曾經在這個更好看:http://phpexcel.codeplex.com/
這:http://www.easyxls.com/
另一個竅門是將數據保存爲CSV文件:http://www.homeandlearn.co.uk/php/php10p6.html
UPDATE:
有一個用於保存數據沒有更簡單的方法直接轉換爲Excel文件,但保存爲CSV。試試這個代碼:
<?php
$data = array(array("firstname" => "Mary", "lastname" => "Johnson", "age" => 25),
array("firstname" => "Amanda", "lastname" => "Miller", "age" => 18),
array("firstname" => "James", "lastname" => "Brown", "age" => 31),
array("firstname" => "Patricia", "lastname" => "Williams", "age" => 7),
array("firstname" => "Michael", "lastname" => "Davis", "age" => 43),
array("firstname" => "Sarah", "lastname" => "Miller", "age" => 24),
array("firstname" => "Patrick", "lastname" => "Miller", "age" => 27));
# filename for download
$filename = "website_data_" . date('Ymd') . ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
foreach($data as $row)
{
if(!$flag)
{ # display field/column names as first row echo
implode("\t", array_keys($row)) . "\r\n"; $flag = true;
}
array_walk($row, 'cleanData');
print implode("\t", array_values($row)) . "\r\n";
}
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"'))
$str = '"' . str_replace('"', '""', $str) . '"';
}
?>
至於從HTML標記的值形式的分離,你可以從import.php讀你的HTML代碼,刪除所有不必要的標籤,把一個分隔符,以每或標籤的結束和然後將您的值放入單維數組中:
<?php
$htmldata = "";
$htmldata .= "<html>";
$htmldata .= "<body>";
$htmldata .= "<tr>";
$htmldata .= "<th>header1</th>";
$htmldata .= "<th>header2</th>";
$htmldata .= "<th>header3</th>";
$htmldata .= "<th>header4</th>";
$htmldata .= "</tr>";
$htmldata .= "<tr>";
$htmldata .= "<td>data1</td>";
$htmldata .= "<td>data2</td>";
$htmldata .= "<td>data3</td>";
$htmldata .= "<td>data4</td>";
$htmldata .= "</tr>";
$htmldata .= "</body>";
$htmldata .= "</html>";
//Remove the unecessary tags like <html>, </html>, <body>, </body>, <th>, </th>, <td>, </td>
$searchfor = array("<html>", "</html>", "<body>", "</body>", "<tr>", "</tr>", "<th>", "</th>", "<td>", "</td>");
$replacewith = array("", "", "", "", "", "", "", "**SEPERATOR**", "", "**SEPERATOR**"); // Replace </th> & </td> with **SEPERATOR** text
$htmldata = str_replace($searchfor, $replacewith, $htmldata);
$values = explode("**SEPERATOR**", $htmldata); ;
print_r($values);
?>
數組$ value的前4個值包含您的標題值。希望它有幫助...
你在哪裏遇到問題?解析數據?或將它保存爲Excel? – 2012-04-17 06:43:49
將數據保存在Excel工作表中:( – swapnesh 2012-04-17 06:45:40
)您是否已經解析了HTML?解析的產物是什麼?您有數組嗎?JSON對象?您知道excel的結構一般嗎?這兩個鏈接將幫助您: http://bit.ly/2Ltpr,http://bit.ly/a8lS74 – Adi 2012-04-17 07:19:06