Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengeksport data pangkalan data dalam php dan menukarnya ke jadual excel

Bagaimana untuk mengeksport data pangkalan data dalam php dan menukarnya ke jadual excel

PHPz
PHPzasal
2023-03-24 17:09:462449semak imbas

Dalam pembangunan tapak web dan pemprosesan data, pangkalan data memainkan peranan yang sangat penting Cara mengeksport data pangkalan data dengan betul dan menukarnya kepada jadual Excel adalah masalah yang sering kita perlu selesaikan. Dalam artikel ini, kami akan memperkenalkan cara untuk mencapai ini dengan mudah menggunakan bahasa PHP.

1. Persediaan

Sebelum memulakan operasi kami, kami perlu memasang persekitaran PHP dan perpustakaan kelas PHPExcel PHPExcel adalah perpustakaan kelas PHPExcel yang kuat digunakan untuk menjana Pelbagai jenis daripada fail Excel. Kaedah memasang persekitaran PHP dan perpustakaan kelas PHPExcel tidak akan diterangkan di sini Jika anda belum memasangnya, anda boleh merujuk kepada laman web rasmi PHP dan laman web rasmi PHPExcel untuk pemasangan dan penggunaan.

2. Menyambung ke pangkalan data

Menyambung ke pangkalan data adalah operasi yang sangat penting . Berikut ialah contoh kod asas untuk menyambung ke pangkalan data MySQL melalui mysqli:

$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}

3 Pertanyaan data pangkalan data

Selepas melengkapkan sambungan pangkalan data, kami perlu. untuk menggunakan SQL Statements menanyakan data pangkalan data dan memprosesnya. Berikut ialah contoh penyataan SQL mudah:

$sql = "SELECT * FROM `table_name`";
$result = mysqli_query($conn, $sql);

Dengan menggunakan fungsi mysqli_query, kita boleh menanyakan pangkalan data dengan mudah dan mendapatkan hasil pertanyaan $result.

4. Jana jadual Excel

Selepas mendapatkan hasil pertanyaan pangkalan data, seterusnya kami perlu menukarnya kepada jadual Excel. Berikut ialah contoh kod asas pustaka kelas PHPExcel:

//创建PHPExcel对象
$objPHPExcel = new PHPExcel();

//设置Excel文件属性
$objPHPExcel->getProperties()
    ->setCreator("your name")
    ->setLastModifiedBy("your name")
    ->setTitle("title")
    ->setSubject("subject")
    ->setDescription("description")
    ->setKeywords("keywords")
    ->setCategory("category");

//设置当前活动表格
$objPHPExcel->setActiveSheetIndex(0);

//循环遍历查询结果,将数据写入Excel表格
$i = 1;
while ($row = mysqli_fetch_array($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $row['column1']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $row['column2']);
    $i++;
}

Menggunakan kod di atas, kami boleh menukar hasil pertanyaan MySQL dengan mudah ke dalam format jadual Excel, dan pada masa yang sama, input data ke dalam jadual Excel.

5. Output atau muat turun fail Excel

Selepas menulis data ke dalam jadual Excel, kita boleh memilih untuk mengeluarkannya ke penyemak imbas atau memuat turunnya secara setempat untuk disimpan. Berikut ialah contoh kod asas untuk melaksanakan operasi ini:

Output ke penyemak imbas:

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="filename.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

Muat turun ke setempat:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('file_path/filename.xls');

6. Ringkasan

Bahasa PHP dan perpustakaan kelas PHPExcel menyediakan alatan mudah dan berkuasa yang boleh membantu kami mengeksport data pangkalan data ke jadual Excel. Langkah-langkah yang diperkenalkan dalam artikel ini hanyalah operasi asas bagi keseluruhan proses saya harap ia dapat memberikan sedikit bantuan kepada pemula dan juga menyediakan rujukan untuk pembangun yang berpengalaman.

Atas ialah kandungan terperinci Bagaimana untuk mengeksport data pangkalan data dalam php dan menukarnya ke jadual excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn