Maison > Article > développement back-end > PHP implémente des opérations de lecture et d'écriture de fichiers Excel
Le fichier Excel est un format de fichier de tableau couramment utilisé et est souvent utilisé dans le processus de développement. En tant que langage de programmation couramment utilisé, PHP prend également en charge les opérations de lecture et d'écriture sur les fichiers Excel. Dans cet article, nous présenterons comment utiliser PHP pour lire et écrire des fichiers Excel.
PHPExcel est une bibliothèque PHP open source qui peut facilement lire et écrire des fichiers Excel. Il peut être installé via Composer ou vous pouvez télécharger le code source directement depuis GitHub.
Utilisez Composer pour installer la bibliothèque PHPExcel, exécutez simplement la commande suivante dans le répertoire racine du projet :
composer require phpoffice/phpexcel
Une fois l'installation terminée, vous pouvez charger la bibliothèque PHPExcel via le code suivant :
require 'vendor/autoload.php';
La bibliothèque PHPExcel fournit une API riche qui peut être utilisée pour lire des fichiers Excel. La première chose à faire est d'ouvrir un fichier Excel. Le code suivant montre comment ouvrir un fichier Excel :
<?php require 'vendor/autoload.php'; $inputFileName = 'example.xlsx'; $reader = PhpOfficePhpSpreadsheetIOFactory::createReaderForFile($inputFileName); $spreadsheet = $reader->load($inputFileName);
Dans le code ci-dessus, la variable $inputFileName
contient le chemin d'accès au fichier Excel à lire. La méthode createReaderForFile()
peut sélectionner automatiquement le lecteur correspondant en fonction de l'extension du fichier. La méthode load()
lit le contenu du fichier dans un objet PhpSpreadsheet
. $inputFileName
变量保存了要读取的Excel文件的路径。createReaderForFile()
方法可以根据文件的扩展名自动选择对应的读取器。而load()
方法则将文件内容读取到一个PhpSpreadsheet
对象中。
读取Excel文件后,我们可以通过以下代码来获取文件中的所有工作表:
$worksheetNames = $spreadsheet->getSheetNames(); foreach ($worksheetNames as $worksheetName) { $worksheet = $spreadsheet->getSheetByName($worksheetName); // 对工作表进行操作 }
上面的代码中,getSheetNames()
方法返回一个由工作表名称组成的数组。我们可以遍历这个数组,使用getSheetByName()
方法获取具体的工作表对象。
在获取了工作表对象之后,可以使用以下代码来获取单元格的值:
$value = $worksheet->getCell('A1')->getValue();
其中,getCell()
方法用于获取指定单元格的对象,getValue()
方法用于获取单元格的值。
同样地,PHPExcel库也提供了API方便我们对Excel文件进行写入操作。下面的代码展示了如何创建一个新的Excel文件,向其中添加工作表和数据:
$spreadsheet = new PhpOfficePhpSpreadsheetSpreadsheet(); // 创建工作表并设置名称 $worksheet = $spreadsheet->getActiveSheet(); $worksheet->setTitle('Sheet1'); // 设置单元格的值 $worksheet->setCellValue('A1', '姓名'); $worksheet->setCellValue('B1', '年龄'); $worksheet->setCellValue('C1', '性别'); $worksheet->setCellValue('A2', '张三'); $worksheet->setCellValue('B2', 25); $worksheet->setCellValue('C2', '男'); // 保存Excel文件 $writer = PhpOfficePhpSpreadsheetIOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('output.xlsx');
上面的代码中,首先创建了一个PhpSpreadsheet
对象,然后创建一个空的工作表,设置工作表的名称和单元格的值,最后使用PhpSpreadsheet_IOFactory::createWriter()
方法创建一个写入器对象,并使用save()
getSheetNames()
renvoie un tableau composé de noms de feuilles de calcul. Nous pouvons parcourir ce tableau et utiliser la méthode getSheetByName()
pour obtenir l'objet de feuille de calcul spécifique. rrreee
Parmi eux, la méthodegetCell()
est utilisée pour obtenir l'objet de la cellule spécifiée , getValue La méthode ()
est utilisée pour obtenir la valeur de la cellule. 🎜PhpSpreadsheet
est d'abord créé, puis une feuille de calcul vide est créée, définie le nom de la feuille de calcul et la valeur de la cellule, et enfin utilisez la méthode PhpSpreadsheet_IOFactory::createWriter()
pour créer un objet écrivain, et utilisez la méthode save()
pour enregistrer les données Écrivez dans un fichier. 🎜🎜🎜Résumé🎜🎜🎜Dans cet article, nous avons présenté comment utiliser PHP pour lire et écrire des fichiers Excel. En utilisant la bibliothèque PHPExcel, nous pouvons facilement utiliser des fichiers Excel et lire et écrire des données. J'espère que cet article pourra vous être utile ! 🎜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!