Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan eksport pertanyaan php ke excel

Bagaimana untuk melaksanakan eksport pertanyaan php ke excel

PHPz
PHPzasal
2023-03-29 11:33:451527semak imbas

Dalam era teknologi moden dan data besar, pemprosesan data telah menjadi pautan yang amat diperlukan dan penting dalam pelbagai industri dan perusahaan Terutamanya dalam bidang Internet, pemprosesan data merupakan isu utama. Sebagai bahasa pembangunan WEB, PHP berkuasa dan digunakan secara meluas. Dari segi pemprosesan data, PHP juga boleh memberikan sokongan yang baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menanyakan data dan mengeksportnya ke Excel.

1. Pangkalan data pertanyaan PHP

Dalam PHP, proses menanyakan pangkalan data dan mendapatkan data memerlukan penyambungan ke pangkalan data dahulu, kemudian memilih pangkalan data, dan akhirnya melaksanakan pernyataan SQL. Berbanding dengan pernyataan SQL biasa, pernyataan SQL dalam PHP perlu dilepaskan untuk mengelakkan serangan suntikan SQL.

Fungsi untuk menyambung ke pangkalan data ialah mysqli_connect(), yang mengandungi empat parameter: nama hos, nama pengguna, kata laluan dan nama pangkalan data. Jika sambungan gagal, false akan dikembalikan, jika tidak objek sambungan pangkalan data akan dikembalikan.

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

Fungsi untuk memilih pangkalan data ialah mysqli_select_db(), yang mengandungi dua parameter: objek sambungan pangkalan data dan nama pangkalan data.

mysqli_select_db($conn, $dbname);

Fungsi untuk melaksanakan pernyataan SQL ialah mysqli_query(), yang mengandungi dua parameter: objek sambungan pangkalan data dan pernyataan SQL.

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

Selepas melaksanakan tiga langkah di atas, objek $result akan mengandungi semua data yang ditanya.

2. Eksport Excel dengan PHP

Terdapat banyak cara untuk mengeksport Excel dengan PHP. Untuk memproses Excel, anda perlu menggunakan perpustakaan PHPExcel, yang perlu dipasang sebelum anda boleh membaca dan menulis fail Excel.

Anda boleh memasang pustaka PHPExcel melalui Komposer:

composer require phpoffice/phpexcel

atau memuat turun secara manual pakej termampat versi terkini:

https://github.com/PHPOffice/PHPExcel/releases

Selepas penyahmampatan, letakkan folder Classes dalam direktori projek , dan kemudian memperkenalkan perpustakaan PHPExcel:

require_once 'Classes/PHPExcel.php';

Jadual Excel terutamanya terdiri daripada tiga bahagian: "buku kerja", "lembaran kerja" dan "sel". PHPExcel merangkumi banyak kelas dan kaedah, menjadikannya mudah untuk mencipta, mengedit dan menyimpan jadual Excel. Berikut ialah contoh mudah:

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

//设置工作簿属性
$objPHPExcel->getProperties()
    ->setCreator("Creator")
    ->setLastModifiedBy("Last Modified By")
    ->setTitle("Title")
    ->setSubject("Subject")
    ->setDescription("Description")
    ->setKeywords("keywords")
    ->setCategory("Category");

//创建工作表
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');

//添加表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Age');
$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Gender');

//循环添加数据
$i = 2;
while ($row = mysqli_fetch_assoc($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $row['id']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $row['name']);
    $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $row['age']);
    $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $row['gender']);
    $i++;
}

//设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);

//设置单元格格式
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);

//将表格导出为Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="export.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
exit;

Dalam contoh ini, objek PHPExcel pertama kali dicipta, buku kerja dan sifat lembaran kerja ditetapkan, pengepala dan data ditambah, dan kemudian lebar lajur dan unit adalah tetapkan format Grid.

Akhir sekali, eksport data objek PHPExcel ke fail Excel melalui kaedah createWriter() dalam kelas PHPExcel_IOFactory. Jenis MIME, nama fail dan pengepala kawalan cache yang betul perlu ditetapkan sebelum mengeksport.

Ringkasan

Di atas adalah langkah asas untuk menggunakan PHP untuk menanyakan pangkalan data dan mengeksport ke Excel. Sebagai bahasa pengaturcaraan yang cekap dan fleksibel, PHP menyediakan banyak kaedah mudah untuk memproses data. Menggunakan perpustakaan PHPExcel, fail Excel juga boleh dimanipulasi dengan mudah, membolehkan pemprosesan dan eksport data yang fleksibel.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan eksport pertanyaan php ke 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