Bagaimana menulis data dari excel ke php?

Fitur ekspor data sangat berguna dimana data disimpan di drive lokal untuk penggunaan offline. Mengekspor data ke fungsionalitas file menyediakan cara yang mudah digunakan untuk mempertahankan data dalam jumlah besar di aplikasi web. Ada berbagai format file yang tersedia untuk mengekspor data dan mengunduhnya sebagai file. Microsoft Excel adalah format spreadsheet yang banyak digunakan yang mengatur dan memelihara data

Secara umum, fungsi ekspor data digunakan di bagian pengelolaan data aplikasi web. Excel adalah format terbaik untuk mengekspor data dalam file dan Anda dapat dengan mudah mengekspor data ke excel menggunakan PHP. Dalam tutorial ini, kami akan menunjukkan cara mengekspor data ke Excel di PHP

Contoh skrip PHP memungkinkan Anda mengintegrasikan data ekspor ke fungsionalitas excel. Dengan satu klik, pengguna dapat mengekspor data dari database MySQL ke Excel dan mengunduhnya dalam format file MS Excel (. xls/. xlsx)

Ekspor Data ke Excel dengan PHP

Dalam skrip contoh ini, kami akan mengekspor data dari array (didefinisikan dalam skrip) ke file excel

Variabel $data_ menyimpan data dalam format array yang akan diekspor ke Excel menggunakan 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")
);

Fungsi filterData()_ digunakan untuk memfilter string sebelum ditambahkan ke baris lembar excel

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

Kode berikut membantu mengekspor data di excel dan mengunduhnya sebagai file

  • Variabel $fileName_ menentukan nama file excel
  • Header Content-Disposition dan Content-Type memaksa file excel untuk diunduh
  • Jalankan loop melalui setiap pasangan kunci/nilai dalam larik $data
  • Tampilkan nama kolom sebagai baris pertama menggunakan variabel
    function filterData(&$str){
        $str = preg_replace("/\t/", "\\t", $str);
        $str = preg_replace("/\r?\n/", "\\n", $str);
        if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
    }
    0
  • Fungsi PHP array_walk() digunakan untuk memfilter data bersama dengan fungsi 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;

Ekspor Data dari Database ke Excel dengan PHP dan MySQL

Dalam skrip contoh ini, kami akan mengekspor data dari database MySQL dalam file excel menggunakan PHP

Buat Tabel Basis Data
Untuk contoh ini, kita akan membuat tabel

function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
_2 dengan beberapa field dasar di database MySQL. Tabel
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
2 menyimpan catatan yang akan diekspor ke 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;
_

Konfigurasi Basis Data (dbConfig. php)
Kode berikut digunakan untuk menghubungkan database menggunakan PHP dan MySQL. Tentukan host basis data (

function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
_4), nama pengguna (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
5), kata sandi (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
6), dan nama (
function filterData(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
7) sesuai kredensial basis data Anda

// 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);
}

Ekspor Data dari Basis Data
Kode berikut membantu mengekspor data dari database MySQL dan mengunduhnya sebagai file excel

  • Fungsi filterData()_ digunakan untuk memfilter string sebelum ditambahkan ke baris data excel
  • $fileName – Tentukan nama file excel yang akan diunduh
  • // 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 – Tentukan kolom bernama lembar 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 – Tambahkan baris pertama ke lembar excel sebagai nama kolom
  • Ambil data anggota dari database dan tambahkan ke baris lembar excel
  • Tentukan tajuk untuk memaksa file diunduh
  • Render data lembar 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;

Ekspor Data Tabel HTML ke Excel menggunakan JavaScript

Kesimpulan

Jika Anda ingin menambahkan opsi ekspor ke daftar data, fitur ekspor ke excel sangat cocok untuk itu. Dengan opsi ekspor, pengguna dapat mengunduh data dalam file excel dan menyimpannya di drive lokal. Anda dapat menggunakan kode sederhana ini untuk menambahkan fungsionalitas data ekspor di aplikasi web menggunakan PHP

Apakah Anda ingin mendapatkan bantuan implementasi, atau memodifikasi atau meningkatkan fungsionalitas skrip ini?

Bagaimana cara menulis data dalam file Excel menggunakan php?

Kita dapat mengatur nilai ke sel dengan menggunakan fungsi setCellValueByColumnAndRow(a,b,c). Tulis spreadsheet yang dibuat menggunakan fungsi save() . Kita dapat mengatur nilai sel menggunakan fungsi setCellValue() dengan meneruskan nama indeks sel seperti A1, A2, D3 dll. dan nilai.

Bagaimana Anda membaca dan menulis file Excel di php?

Unduh Kode dan Contoh .
Perpustakaan PHP Terbaik untuk Mengurai dan Menulis File Excel
Instal pustaka Box/Spout
Contoh File Excel (XLSX).
Membaca File Excel (XLSX)
Tulis File Excel (XLSX)
Membaca File Excel Besar Secara Efisien saat Menggunakan Memori Rendah
Unduh Kode dan Contoh

Bagaimana menghubungkan Excel ke php?

Buat Koneksi . Untuk menutup koneksi, gunakan odbc_close atau odbc_close_all. $conn = odbc_connect("CData ODBC Excel Source","user","password"); . Open the connection to Excel by calling the odbc_connect or odbc_pconnect methods. To close connections, use odbc_close or odbc_close_all. $conn = odbc_connect("CData ODBC Excel Source","user","password"); Connections opened with odbc_connect are closed when the script ends.

Bagaimana cara mendapatkan data dari file xlsx di php?

gunakan PhpOffice\PhpSpreadsheet\Spreadsheet;