Tạo file excel trong mã nguồn PHP

								
									
								
							

mục lục. php

								
									
									
									
									
									    

									    How to generate  excel from Mysql data in PHP

									    

									    
									    

									
									
									    

Generate Excel

 

No. Name Email id Phone Number Department Joining Date

tạo-excel. php

								
									
									
									    
									        
									            No.
									            Name
									            Email id
									            Phone Number
									            Department
									            Joining Date
									        
									    
									    

									        
									            
									            
									            
									            
									            
									            
									        
									        
									
								
							
Tải xuống

Là một lập trình viên PHP, bạn cần tạo file excel với dữ liệu của mình bằng ngôn ngữ lập trình PHP. Tôi đã làm mọi thứ trở nên dễ dàng. Chỉ cần làm theo hai bước và công việc của bạn sẽ được thực hiện

Đầu tiên tạo một lớp Excel trong PHP với đoạn mã sau

<?php
/**
 * By Shaharia Azam
 * [email protected]
 * http://www.shahariaazam.com
 */
class Excel{

    /**
     * set the header configuration
     * @param $filename the xls file name
     */
    function setHeader($filename)
    {
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");;
        header("Content-Disposition: attachment;filename=$filename");
        header("Content-Transfer-Encoding: binary ");
    }

    /**
     * write the xls begin of file
     */
    function BOF() {
        echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
        return;
    }

    /**
     * write the xls end of file
     */
    function EOF() {
        echo pack("ss", 0x0A, 0x00);
        return;
    }

    /**
     * write a number
     * @param $Row row to write $Value (first row is 0)
     * @param $Col column to write $Value (first column is 0)
     * @param $Value number value
     */
    function writeNumber($Row, $Col, $Value) {
        echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
        echo pack("d", $Value);
        return;
    }

    /**
     * write a string label
     * @param $Row row to write $Value (first row is 0)
     * @param $Col column to write $Value (first column is 0)
     * @param $Value string value
     */
    function writeLabel($Row, $Col, $Value) {
        $L = strlen($Value);
        echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
        echo $Value;
        return;
    }
}

Sau đó, bạn sẽ đưa tệp lớp này vào tập lệnh PHP đang hoạt động của mình với PHP

require_once('pathofyourclassfile.php');

Sau đó viết đoạn mã sau

<?php
$Excel = new Excel();
// Send Header
$Excel -> setHeader('text_' . date('Y_m_d') . '.xls');
$Excel -> BOF();
/**
* Write Cell data
* writeLabel (RowNumber,ColumnNumber, "Text to put")
*/
$Excel -> writeLabel(1, 1, "Cell Value as Text");
$Excel -> EOF();
exit();

Bây giờ hãy chạy tệp này và bạn sẽ thấy một Tên tệp. tệp xls sẽ được tự động tải xuống. Mở tệp Excel đó và bạn sẽ thấy rằng trong hàng đầu tiên của mình, cột đầu tiên “Giá trị ô dưới dạng văn bản” sẽ được ghi lại. Mã hóa vui vẻ

Tính năng xuất dữ liệu rất hữu ích khi dữ liệu được lưu trên ổ đĩa cục bộ để sử dụng ngoại tuyến. Chức năng xuất dữ liệu sang tệp cung cấp một cách thân thiện với người dùng để duy trì một số lượng lớn dữ liệu trong ứng dụng web. Có nhiều định dạng tệp khác nhau để xuất dữ liệu và tải xuống dưới dạng tệp. Microsoft Excel là một định dạng bảng tính được sử dụng rộng rãi để tổ chức và duy trì dữ liệu

Nói chung, chức năng xuất dữ liệu được sử dụng trong phần quản lý dữ liệu của ứng dụng web. Excel là định dạng tốt nhất để xuất dữ liệu dưới dạng tệp và bạn có thể dễ dàng xuất dữ liệu sang excel bằng PHP. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xuất dữ liệu sang Excel trong PHP

Tập lệnh PHP mẫu cho phép bạn tích hợp chức năng xuất dữ liệu sang excel. Chỉ với một cú nhấp chuột, người dùng có thể xuất dữ liệu từ cơ sở dữ liệu MySQL sang Excel và tải xuống ở định dạng tệp MS Excel (. xls/. xlsx)

Xuất dữ liệu sang Excel bằng PHP

Trong tập lệnh mẫu này, chúng tôi sẽ xuất dữ liệu từ mảng (được xác định trong tập lệnh) sang tệp excel

Biến $data chứa dữ liệu ở định dạng mảng sẽ được xuất sang Excel bằng PHP

$data = array(
    array("NAME" => "John Doe", "EMAIL" => "[email protected]", "GENDER" => "Male", "COUNTRY" => "United States"),
    array("NAME" => "Gary Riley", "EMAIL" => "[email protected]", "GENDER" => "Male", "COUNTRY" => "United Kingdom"),
    array("NAME" => "Edward Siu", "EMAIL" => "[email protected]", "GENDER" => "Male", "COUNTRY" => "Switzerland"),
    array("NAME" => "Betty Simons", "EMAIL" => "[email protected]", "GENDER" => "Female", "COUNTRY" => "Australia"),
    array("NAME" => "Frances Lieberman", "EMAIL" => "[email protected]", "GENDER" => "Female", "COUNTRY" => "United Kingdom")
);

Hàm filterData() được sử dụng để lọc chuỗi trước khi thêm vào hàng của bảng excel

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

Đoạn code sau giúp xuất dữ liệu trong excel và download dưới dạng file

  • Biến $fileName xác định tên của tệp excel
  • Các tiêu đề Bố trí nội dung và Loại nội dung buộc tải xuống tệp excel
  • Chạy vòng lặp qua từng cặp khóa/giá trị trong mảng $data
  • Hiển thị tên cột dưới dạng hàng đầu tiên bằng cách sử dụng biến
    function filterData(&$str){
        $str = preg_replace("/\t/", "\\t", $str);
        $str = preg_replace("/\r?\n/", "\\n", $str);
        if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
    }
    0
  • Hàm PHP array_walk() được sử dụng để lọc dữ liệu cùng với hàm filterData()
// Excel file name for download
$fileName = "codexworld_export_data-" . date('Ymd') . ".xlsx";

// Headers for download
header("Content-Disposition: attachment; filename=\"$fileName\"");
header("Content-Type: application/vnd.ms-excel");

$flag = false;
foreach($data as $row) {
    if(!$flag) {
        // display column names as first row
        echo implode("\t", array_keys($row)) . "\n";
        $flag = true;
    }
    // filter data
    array_walk($row, 'filterData');
    echo implode("\t", array_values($row)) . "\n";
}

exit;

Xuất dữ liệu từ cơ sở dữ liệu sang Excel bằng PHP và MySQL

Trong tập lệnh ví dụ này, chúng tôi sẽ xuất dữ liệu từ cơ sở dữ liệu MySQL trong tệp excel bằng PHP

Tạo bảng cơ sở dữ liệu
Trong ví dụ này, chúng ta sẽ tạo một bảng

function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
2 với một số trường cơ bản trong cơ sở dữ liệu MySQL. Bảng
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
2 chứa các bản ghi sẽ được xuất sang excel

CREATE TABLE `members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
  `last_name` varchar(25) COLLATE utf8_unicode_ci NOT NULL,
  `email` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `gender` enum('Male','Female') COLLATE utf8_unicode_ci NOT NULL,
  `country` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `created` datetime NOT NULL,
  `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1=Active | 0=Inactive',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Cấu hình cơ sở dữ liệu (dbConfig. php)
Đoạn mã sau dùng để kết nối cơ sở dữ liệu bằng PHP và MySQL. Chỉ định máy chủ cơ sở dữ liệu (

function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
4), tên người dùng (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
5), mật khẩu (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
6) và tên (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
7) theo thông tin đăng nhập cơ sở dữ liệu của bạn

// Database configuration
$dbHost     = "localhost";
$dbUsername = "root";
$dbPassword = "root";
$dbName     = "codexworld";

// Create database connection
$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);

// Check connection
if ($db->connect_error) {
    die("Connection failed: " . $db->connect_error);
}

Xuất dữ liệu từ cơ sở dữ liệu
Đoạn mã sau giúp xuất dữ liệu từ cơ sở dữ liệu MySQL và tải xuống dưới dạng tệp excel

  • Hàm filterData() dùng để lọc chuỗi trước khi thêm vào hàng dữ liệu excel
  • $fileName – Xác định tên của tệp excel sẽ được tải xuống
  • // Excel file name for download
    $fileName = "codexworld_export_data-" . date('Ymd') . ".xlsx";

    // Headers for download
    header("Content-Disposition: attachment; filename=\"$fileName\"");
    header("Content-Type: application/vnd.ms-excel");

    $flag = false;
    foreach($data as $row) {
        if(!$flag) {
            // display column names as first row
            echo implode("\t", array_keys($row)) . "\n";
            $flag = true;
        }
        // filter data
        array_walk($row, 'filterData');
        echo implode("\t", array_values($row)) . "\n";
    }

    exit;

    0 – Xác định cột có tên của trang tính excel
  • // Excel file name for download
    $fileName = "codexworld_export_data-" . date('Ymd') . ".xlsx";

    // Headers for download
    header("Content-Disposition: attachment; filename=\"$fileName\"");
    header("Content-Type: application/vnd.ms-excel");

    $flag = false;
    foreach($data as $row) {
        if(!$flag) {
            // display column names as first row
            echo implode("\t", array_keys($row)) . "\n";
            $flag = true;
        }
        // filter data
        array_walk($row, 'filterData');
        echo implode("\t", array_values($row)) . "\n";
    }

    exit;

    1 – Thêm hàng đầu tiên vào bảng excel dưới dạng tên cột
  • Lấy dữ liệu của thành viên từ cơ sở dữ liệu và thêm vào hàng của bảng excel
  • Xác định các tiêu đề để buộc tệp tải xuống
  • Kết xuất dữ liệu của bảng tính excel
// Load the database configuration file
include_once 'dbConfig.php';

// Filter the excel data
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}

// Excel file name for download
$fileName = "members-data_" . date('Y-m-d') . ".xls";

// Column names
$fields = array('ID', 'FIRST NAME', 'LAST NAME', 'EMAIL', 'GENDER', 'COUNTRY', 'CREATED', 'STATUS');

// Display column names as first row
$excelData = implode("\t", array_values($fields)) . "\n";

// Fetch records from database
$query = $db->query("SELECT * FROM members ORDER BY id ASC");
if($query->num_rows > 0){
    // Output each row of the data
    while($row = $query->fetch_assoc()){
        $status = ($row['status'] == 1)?'Active':'Inactive';
        $lineData = array($row['id'], $row['first_name'], $row['last_name'], $row['email'], $row['gender'], $row['country'], $row['created'], $status);
        array_walk($lineData, 'filterData');
        $excelData .= implode("\t", array_values($lineData)) . "\n";
    }
}else{
    $excelData .= 'No records found...'. "\n";
}

// Headers for download
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=\"$fileName\"");

// Render excel data
echo $excelData;

exit;

Xuất dữ liệu bảng HTML sang Excel bằng JavaScript

Phần kết luận

Nếu bạn muốn thêm tùy chọn xuất vào danh sách dữ liệu, tính năng xuất sang excel là hoàn hảo cho việc đó. Với tùy chọn xuất, người dùng có thể tải xuống dữ liệu dưới dạng tệp excel và lưu vào ổ đĩa cục bộ. Bạn có thể sử dụng mã đơn giản này để thêm chức năng xuất dữ liệu trong ứng dụng web bằng PHP

Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không?

Làm cách nào để tạo một tệp Excel bằng php?

3 bước dễ dàng để tạo bảng tính Excel trong PHP .
Bước 1. Loại nội dung. Điều đầu tiên bạn phải làm là thêm một ứng dụng/vnd. .
Bước 2. Thêm dữ liệu. Dữ liệu chỉ là đơn giản. .
Bước 3. Tải xuống bảng tính. Bây giờ bạn đã đặt loại nội dung và tạo dữ liệu, chỉ cần mở tệp PHP trong trình duyệt

Làm cách nào để tạo tệp Excel trống trong php?

EasyXLS trên Linux, Mac, Windows sử dụng Java với PHP .
Bước 1. Tải xuống và cài đặt Thư viện EasyXLS Excel cho Java. Để tải xuống phiên bản dùng thử của Thư viện EasyXLS Excel, hãy nhấn vào nút bên dưới. .
Bước 2. Cài đặt cầu PHP/Java. .
Bước 3. Thiết lập thư viện EasyXLS trong Tomcat. .
Bước 4. Chạy mã PHP tạo tệp Excel

Làm cách nào để tạo một tệp Excel động trong php?

Tạo tệp Excel động bằng thư viện PHP Excel trong. .
Tải xuống khung codeigniter cho trang web codeigniter và thiết lập trên máy chủ cục bộ. Và cấu hình nó
Tải xuống thư viện php excel từ đây/(Tải xuống). .
Tạo một bảng mysql (các quốc gia). .
Tạo bộ điều khiển (nhà. .
Tạo một tệp xem (nhà

Làm cách nào để hiển thị tệp Excel trong php?

Đọc tệp Excel . Đọc tệp excel bằng hàm load() . Đây thử nghiệm. xlsx là tên tệp.