如何從PHP腳本中將SQLite文件導出爲Excel?將SQLite數據庫導出到PHP的Excel中
我目前出口的表和數據,只是普通的HTML表格,用下面的代碼:
$dbh = new PDO('sqlite:' . $path . "/" . $lang . "/" . $dbname . ".sqlite");
$sql = "SELECT tbl_name FROM sqlite_master WHERE type='table';";
$stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) {
$sql = "SELECT * FROM " . $row['tbl_name'];
$sub_stmt = $dbh->prepare($sql, array(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL));
$sub_stmt->execute();
echo "<br><br><table border=1><thead>". $row['tbl_name'] ."</thead><tbody>";
while ($sub_row = $sub_stmt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) {
foreach ($sub_row as $key => $value) {
$titles .= "<td>" . $key . "</td>";
$sub_row_table[] = "<td>" . $sub_row[$key] . "</td>";
}
if(!$titlesPrinted) {
echo "<tr>" . $titles . "</tr>";
$titlesPrinted = true;
}
echo "<tr>";
foreach($sub_row_table as $value) {
echo $value;
}
echo "</tr>";
}
echo "</tbody></table>";
}
$dbh = null;
但是,如果SQLite表有很多數據的不工作的偉大,頁面需要同時加載一切。理想情況下,我更願意創建鏈接來下載Excel工作表(或者可能將所有工作表全部導出到一個Excel工作簿文件中),或者至少鏈接到彈出/顯示錶格而不是使用大量表格的資源迴應用戶的屏幕。
編輯:
忘了提,我的sqlite的數據包含使用一些列的HTML和大量數據的使用口音,如:E,E,E,A,A等
您是否考慮過使用PHPExcel? http://phpexcel.codeplex.com/ – Trace
嗯有趣,將看看PHPExcel,謝謝@KimGysen – dan2k3k4
嘿@KimGysen,我能夠得到它所有的PHPExcel的工作,你可以寫你的評論作爲答案,所以我可以標記這封閉? :) – dan2k3k4