Rumah >pembangunan bahagian belakang >masalah PHP >Mari kita bincangkan tentang cara mengeksport fail Excel menggunakan jadual pertanyaan PHP

Mari kita bincangkan tentang cara mengeksport fail Excel menggunakan jadual pertanyaan PHP

PHPz
PHPzasal
2023-04-21 09:11:55825semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas, dan banyak tapak web dibangunkan berdasarkan PHP. MySQL ialah sistem pengurusan pangkalan data hubungan popular yang boleh digunakan untuk menyimpan dan mengurus data. Dalam PHP, kita boleh menggunakan pangkalan data MySQL untuk menyimpan dan mendapatkan semula data. Kadangkala, kita perlu mengeksport data dalam pangkalan data MySQL ke fail Excel untuk memudahkan analisis dan pemprosesan data. Artikel ini akan memperkenalkan cara mengeksport fail Excel menggunakan jadual pertanyaan PHP.

Langkah 1: Sambung ke pangkalan data MySQL

Sebelum mengeksport data, kita perlu menyambung ke pangkalan data MySQL dan pilih jadual untuk dieksport. Pertama, kita perlu menyambung ke pelayan MySQL menggunakan kod berikut:

//数据库链接参数
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";

//创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

//检测连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

Dalam kod di atas, kami menggunakan fungsi mysqli_connect() untuk menyambung ke pelayan MySQL dan menyemak sama ada sambungan berjaya. Kita perlu menggantikan pembolehubah dengan nama pelayan, nama pengguna, kata laluan dan nama pangkalan data yang betul. Jika sambungan berjaya, kami akan melakukan operasi selanjutnya melalui objek $conn.

Langkah 2: Tanya data dan simpannya sebagai tatasusunan

Seterusnya, kita perlu menanyakan data dalam pangkalan data MySQL dan menyimpannya sebagai tatasusunan. Kami boleh menanyakan data dalam pangkalan data menggunakan kod PHP berikut:

//查询要导出的数据
$sql = "SELECT * FROM table_name";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    //将查询结果存储为数组
    $data = array();
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
} else {
    echo "0 results";
}

Dalam kod di atas, kami menggunakan pernyataan SELECT untuk memilih semua baris dalam jadual untuk dieksport daripada pangkalan data MySQL. Kami menggunakan fungsi mysqli_query() untuk melaksanakan pertanyaan dan menyimpan hasil dalam objek $result. Jika pertanyaan itu mengembalikan hasil, kami menyimpan hasilnya sebagai tatasusunan $data dan menggunakan gelung sementara untuk mengulangi setiap baris. Akhir sekali, kami menggunakan fungsi fetch_assoc() untuk mendapatkan setiap baris daripada set hasil dan menambahnya pada tatasusunan $data.

Langkah 3: Simpan data sebagai fail Excel

Sebaik sahaja kami mempunyai data daripada jadual MySQL yang ingin kami eksport dan simpannya sebagai tatasusunan, kami perlu menyimpannya sebagai Fail Excel. Kami boleh mengeksport data tatasusunan ke fail Excel menggunakan perpustakaan PHPExcel. PHPExcel ialah perpustakaan kelas PHP yang berkuasa yang menyediakan fungsi mencipta fail Excel.

Berikut ialah contoh kod untuk menyimpan data sebagai fail Excel:

//加载PHPExcel类库
require_once 'PHPExcel.php';

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

//设置Excel文件属性
$objPHPExcel->getProperties()->setCreator("Your name")
                             ->setLastModifiedBy("Your name")
                             ->setTitle("Title")
                             ->setSubject("Subject")
                             ->setDescription("Description")
                             ->setKeywords("keywords")
                             ->setCategory("Category");

//将数据存储到Excel文件中
$objPHPExcel->setActiveSheetIndex(0);
$rowNum = 1;
foreach($data as $row) {
    $col = 'A';
    foreach($row as $cell) {
        $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNum,$cell);
        $col++;
    }
    $rowNum++;
}

//将Excel文件输出至浏览器
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="file.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;

Dalam kod di atas, kami menggunakan perpustakaan kelas PHPExcel untuk mencipta objek PHPExcel dan menetapkan fail Excel sifat seperti tajuk, Topik, kata kunci, dsb. Kami menggunakan gelung foreach untuk membaca setiap baris data daripada tatasusunan $data dan menggunakan fungsi setCellValue() untuk menulis data ke fail Excel. Akhir sekali, kami mengeluarkan fail Excel ke penyemak imbas dan menyimpannya sebagai fail.

Kesimpulan

Adalah perkara biasa untuk menggunakan pangkalan data MySQL untuk menyimpan dan mendapatkan semula data dalam PHP, dan mengeksport data daripada pangkalan data MySQL ke fail Excel juga merupakan tugas penting. Dalam artikel ini, kami memperkenalkan kaedah mengeksport fail Excel menggunakan jadual pertanyaan PHP. Ini adalah teknik yang sangat berguna yang boleh membantu kami mengurus dan memproses data dengan lebih baik.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara mengeksport fail Excel menggunakan jadual pertanyaan PHP. 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