/ / Php cơ bản / Comments (8)

Export dữ liệu ra file excel đơn giản nhất

Chắc hẳn khi chúng ta thiết kế 1 ứng dụng web thì việc xuất dữ liệu ra là điều rất quan trọng,và xuất dữ liệu ra file excel có lẽ được sử dụng nhiều nhất nó cho phép ta lưu trữ dữ liệu hoặc với mục đích nhập dữ liệu sang các hệ thống khác.Để xuất dữ liệu ra file excel thì có rất nhiều thư viện và nhiều cách nhưng trong bài viết này mình sẽ hướng dẫn cho các bạn cách xuất dữ liệu ra file excel theo cách đơn giản nhất mà không cần sử dụng thư viện nào.
– Ưu điểm: : đơn giản,hỗ trợ UTF-8
– Nhược điểm: : giao diện hiển thị không đẹp

Export datatable to excel

– Rất đơn giản các bạn chỉ cần thêm đoạn code này vào trước dữ liệu muốn xuất ra:

header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=data.xls"); 
header("Pragma: no-cache");
header("Expires: 0"); 

Trong đó thì data.xls chính là tên file mà các bạn muốn xuất ra.
Chúng ta sẽ cùng đi qua ví dụ nhé,mình có 1 mảng dữ liệu như sau:

<?php 
$lists = array(
             array(
                'name' => 'Nobita', 
                'email' => 'nobitacnt@gmail.com',
                'phone' => '0123.456.789',
             ),
             array(
                'name' => 'Xuka',
                'email' => 'xuka@gmail.com',
                'phone' => '0222.333.444',
             ),
            array(
                'name' => 'Chaien',
                'email' => 'chaien@gmail.com',
                'phone' => '0111.333.444',
            ),
)
?> 

Bây giờ mình sẽ thực hiện export mảng dữ liệu này ra file excel

<?php 
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=data.xls");
header("Pragma: no-cache");
header("Expires: 0");
?> 
<?php 
$lists = array(
             array(
                'name' => 'Nobita', 
                'email' => 'nobitacnt@gmail.com',
                'phone' => '0123.456.789',
             ),
             array(
                'name' => 'Xuka',
                'email' => 'xuka@gmail.com',
                'phone' => '0222.333.444',
             ),
            array(
                'name' => 'Chaien',
                'email' => 'chaien@gmail.com',
                'phone' => '0111.333.444',
            ),
)
?> 
<meta charset="utf-8" /> 
<table>
    <thead>
        <tr>
            <td>Tên</td>
            <td>Email</td>
            <td>Số điện thoại</td>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($lists as $row):?>
        <tr>
            <td><?php echo $row['name']?></td>
            <td><?php echo $row['email']?></td>
            <td><?php echo $row['phone']?></td>
        </tr>
        <?php endforeach;?>
    </tbody>
</table>    

Lúc này các bạn thử chạy file này sẽ thấy kết quả như sau:

export datatable to excel

export datatable to excel


Như vậy là chúng ta ta đã xuất dữ liệu ra file excel thành công rồi đó,không thể đơn giản hơn phải không nào.Sang bài sau mình sẽ tiếp tục hướng dẫn làm việc với file excel sử dụng PHPExcel.Các bạn có thể tải demo tại đây về thử,chúc các bạn thành công
Tải mã nguồn bài viết: http://ouo.io/nST9sI



08/05/2015
Written by nobitacnt

Trong bài viết không tránh khỏi những câu từ chưa chính xác,mong nhận được sự góp ý để website hoàn thiện hơn.Nếu thấy bài viết có ích với bạn hãy like và share để ủng hộ nhé :D.

Bài viết chùng chuyên mục

8 Comments

  1. Tran Phuong says:
     /  Reply

    Vậy file excel này có thể in ra không ạ

    • Hoàng văn Tuyền says:
       /  Reply

      Khi bạn có file excel rồi thì bạn xử lý các bước sau thế nào cũng được mà

  2. Hp says:
     /  Reply

    file excel xấu ra xấu quá, làm sao định dạng màu sắc trước khi xuất nhỉ?

  3. nichi262 says:
     /  Reply

    Cho mình hỏi chút. Mình muốn export file excel với dữ liệu lớn khoảng 32k bản ghi. Dùng Yii2 thì làm thế nào ạ ?

    • hoàng văn tuyền says:
       /  Reply

      Bạn cứ export như bình thường nếu hệ thống của bạn xử lý được, còn nếu export bị đơ không xử lý được trong 1 lần thì có thể chia nhỏ ra để export.

  4. Lý Đông Hà says:
     /  Reply

    Cái này nó là file HTML. dùng điện thoại Android xuất thì không đọc được báo lỗi file HTML

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL