Không cần tải xuống các thư viện bên ngoài - mọi thứ bạn cần cho việc này đã được tích hợp sẵn trong PHP.
Các bước:
- Thực hiện truy vấn trong php để lấy các hàng bạn muốn xuất ra
Bạn có thể sử dụngSELECT * FROM table WHERE id IN (1,2,...)
- Sử dụng
mysql_fetch_array()
hoặcmysql_fetch_assoc()
để lấy từng hàng một - Sử dụng
fputcsv()
để xuất chúng thành tệp kết thúc bằng csv - điều này sẽ thoát đúng cách dữ liệu của bạn
http://www.php.net/manual/en / functions.mysql-fetch-array.php
http://php.net/manual/en/ Chức năng.fputcsv .php
Excel sẽ có thể đọc tệp.
Ghi đè các giá trị mặc định cho fputcsv
để sử dụng các tab cho dấu phân cách và Excel sẽ có thời gian đọc tệp dễ dàng hơn. Nếu bạn sử dụng dấu phẩy (mặc định), bạn có thể cần phải chọn dấu phẩy làm dấu phân cách khi nhập Excel.
Đây là một ví dụ hoạt động giả sử bạn đã thiết lập các hàng:
$rows; // predefined
$filename = 'webdata_' . date('Ymd') . '.csv';
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/octet-stream");
// that indicates it is binary so the OS won't mess with the filename
// should work for all attachments, not just excel
$out = fopen("php://output", 'w'); // write directly to php output, not to a file
foreach($rows as $row)
{
fputcsv($out, $row);
}
fclose($out);