15/12/16

[Ứng dụng PHP] Xuất dữ liệu sang Excel trong PHP

Trong hướng dẫn này mình sẽ hướng dẫn các bạn về dữ liệu xuất sang Excel trong PHP. Chức năng này khá cần thiết đối với nhiều trang bán hàng cần để xuất dữ liệu sang Excel cho đễ quản lý. Với kịch bản dưới đây đơn giản, bạn có thể dễ dàng thực hiện các dữ liệu xuất khẩu sang Excel chức năng bằng cách sử dụng PHP.

Bước 1: Tạo ra một mảng data như sau:

1
2
3
4
5
6
$data = array(
array("Họ" => "Vnfit", "Tên" => "Com", "Email" => "vnfit.com@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP"),
array("Họ" => "Lê", "Tên" => "Hưng" "Email" => "lehung@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - HungLV"),
array("Họ" => "Vũ", "Tên" => "Học" "Email" => "hocvt@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - Họcvt"),
array("Họ" => "Trần", "Tên" => "Long" "Email" => "tranlong@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - Longdt"),
);

Bước 2: Tạo ra bộ lọc chuỗi

1
2
3
4
5
6
function filterData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}

Bước 3: Tạo ra file tải tập tin về

1
2
3
4
5
6
//file download
$fileName = "export_data_vnfit" . date('Ymd') . ".xls";
// tiêu đề để tải về
header("Content-Disposition: attachment; filename=\"$fileName\"");
header("Content-Type: application/vnd.ms-excel");

Bước 4: Hiển thị cột dòng lọc dữ liệu

1
2
3
4
5
6
7
8
9
10
11
12
13
$flag = false;
foreach($data as $row) {
if(!$flag) {
// tên cột hiển thị là hàng đầu tiên
echo implode("\t", array_keys($row)) . "\n";
$flag = true;
}
// lọc dữ liệu
array_walk($row, 'filterData');
echo implode("\t", array_values($row)) . "\n";
}
exit;

Code hoàn chỉnh:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$data = array(
array("Họ" => "Vnfit", "Tên" => "Com", "Email" => "vnfit.com@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP"),
array("Họ" => "Lê", "Tên" => "Hưng" "Email" => "lehung@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - HungLV"),
array("Họ" => "Vũ", "Tên" => "Học" "Email" => "hocvt@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - Họcvt"),
array("Họ" => "Trần", "Tên" => "Long" "Email" => "tranlong@gmail.com", "Nội dung" => "Xuất dữ liệu sang Excel với PHP - Longdt"),
);
function filterData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
//file download
$fileName = "export_data_vnfit" . date('Ymd') . ".xls";
// tiêu đề để tải về
header("Content-Disposition: attachment; filename=\"$fileName\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
foreach($data as $row) {
if(!$flag) {
// tên cột hiển thị là hàng đầu tiên
echo implode("\t", array_keys($row)) . "\n";
$flag = true;
}
// lọc dữ liệu
array_walk($row, 'filterData');
echo implode("\t", array_values($row)) . "\n";
}
exit;
Trên đây là hướng dẫn của mình vệ tạo ứng dụng cho php Xuất dữ liệu  sang Excel trong PHP.
Chân thành cảm ơn các bạn theo dõi. Nếu thấy hay xin chia sẻ và like bài viết của mình.
Nguồn: Vnfit.com

0 nhận xét: