Maison  >  Article  >  développement back-end  >  Comment exporter un tableau vers Excel en php

Comment exporter un tableau vers Excel en php

王林
王林original
2023-05-05 20:34:05913parcourir

Pendant le processus de développement, nous devons souvent exporter des données dans des fichiers Excel pour faciliter le téléchargement et l'enregistrement par les utilisateurs. Php, en tant que langage de programmation côté serveur populaire, peut également facilement implémenter cette fonction. Cet article explique comment utiliser Php pour exporter un tableau dans un fichier Excel.

1. Préparation

Avant de commencer à coder, vous devez d'abord vous assurer que PHPExcel, la bibliothèque de traitement open source Php Excel, a été installée sur le serveur. Si vous ne l'avez pas encore installé, vous pouvez vous rendre sur le site officiel de PHPExcel pour le télécharger. Il est très simple à utiliser. Il vous suffit de copier le fichier de la bibliothèque PHPExcel dans votre dossier de projet.

2. Créer un fichier Excel et écrire des données

La création d'un nouveau fichier Excel et l'écriture de données doivent être réalisées via l'objet PHPExcel dans la bibliothèque PHPExcel. L'objet PHPExcel facile à utiliser fournit plusieurs fonctions utiles afin que vous puissiez définir diverses propriétés des fichiers Excel.

Par exemple, si nous voulons créer un nouveau fichier Excel et définir sa largeur de colonne et sa hauteur de ligne pour mieux afficher les données, nous pouvons utiliser le code suivant :

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

//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
$objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);

Après avoir défini les propriétés du fichier Excel, nous pouvons écrivez maintenant les données dans le fichier Excel. Pour démontrer l'exportation de données de tableau vers Excel, nous pouvons supposer qu'il existe un tableau de données comme indiqué ci-dessous :

$data = array(
    array('姓名', '年龄', '性别'),
    array('张三', '18', '男'),
    array('李四', '20', '女'),
    array('王五', '22', '男'),
);

Pour écrire ces données de tableau dans un fichier Excel, vous pouvez utiliser le code suivant :

//写入数据到工作表1
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1');

Le code ci-dessus écrit le tableau data $data to Dans la feuille 1 du fichier Excel, les données sont écrites à partir de la ligne 1 et de la colonne 1. $null signifie que PhpExcel ajustera automatiquement le format des cellules en fonction des données saisies.

3. Exporter le fichier Excel

Après avoir écrit les données du tableau dans le fichier Excel, la dernière étape consiste à exporter localement le fichier Excel généré. Pour ce faire, nous devons définir des en-têtes de réponse.

Tout d'abord, nous devons définir le nom du fichier Excel reçu afin que les utilisateurs puissent mieux identifier le contenu. Ensuite, nous devons dire au navigateur de transmettre un fichier Excel à l'utilisateur afin que le navigateur le traite comme un fichier Excel plutôt que comme un fichier texte brut.

Le code pour implémenter les fonctions ci-dessus est le suivant :

//设置响应头信息
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="测试导出.xlsx"');
header('Cache-Control: max-age=0');

//创建Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

//导出Excel文件到本地
$objWriter->save('php://output');

Le code ci-dessus indique au navigateur de recevoir un fichier Excel en définissant les informations d'en-tête de réponse pertinentes. Nous créons ensuite l'objet PHPExcel_IOFactory et l'utilisons pour écrire des données dans le fichier et enregistrer le fichier.

Enfin, exportez le fichier Excel vers le client en appelant la fonction $objWriter->save('php://output').

4. Code complet

La combinaison des parties de code ci-dessus peut réaliser la fonction d'exportation de données de tableau dans des fichiers Excel.

Le code complet est le suivant :

//引入PHPExcel库文件
require_once 'PHPExcel.php';

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

//设置列宽
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);

//设置行高
$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
$objPHPExcel->getActiveSheet()->getRowDimension(2)->setRowHeight(20);

//定义数据
$data = array(
    array('姓名', '年龄', '性别'),
    array('张三', '18', '男'),
    array('李四', '20', '女'),
    array('王五', '22', '男'),
);

//将数组写入Excel文件
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->fromArray($data, NULL, 'A1');

//设置响应头信息
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="测试导出.xlsx"');
header('Cache-Control: max-age=0');

//创建Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

//导出Excel文件到本地
$objWriter->save('php://output');

Le code ci-dessus utilise la bibliothèque PHPExcel pour créer un objet Excel, écrit les données dans Excel et enfin exporte le fichier Excel vers le client.

5. Résumé

Php est un langage de programmation côté serveur populaire. Combiné avec la bibliothèque PHPExcel, les données du tableau peuvent être facilement exportées dans des fichiers Excel et fournies aux utilisateurs pour téléchargement et enregistrement. Dans l'exemple ci-dessus, nous avons présenté comment utiliser la bibliothèque PHPExcel pour créer des classeurs Excel, écrire des données et exporter des fichiers. Nous espérons que cela vous sera utile pour votre exportation Excel dans le développement Php.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn