📜  phpoffice创建excel并下载 - PHP(1)

📅  最后修改于: 2023-12-03 15:33:40.190000             🧑  作者: Mango

以phpoffice创建excel并下载 - PHP

介绍

在web开发中,我们通常需要创建、导出或下载excel文件。PhpOffice是一个强大的PHP库,它允许我们创建和操作各种office文件,包括Excel、Word和Powerpoint等。在本文中,我们将着重介绍如何使用PhpOffice创建和下载Excel文件。

准备工作

在使用PhpOffice之前,您需要先安装它。您可以在本地安装,也可以使用Composer安装。这里我们以Composer方式进行安装。

使用Composer安装PhpOffice:

composer require phpoffice/phpspreadsheet
创建Excel文件

创建Excel文件的第一步是实例化PhpOffice的创建器。然后,我们创建一个新的工作簿,并设置标题和副标题等信息:

//引入命名空间
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

//实例化创建器
$spreadsheet = new Spreadsheet();

//设置文档属性
$spreadsheet->getProperties()
    ->setCreator("Your Name") //设置创建者
    ->setLastModifiedBy("Your Name") //设置最后修改者
    ->setTitle("Example Document") //设置标题
    ->setSubject("Example Document") //设置主题
    ->setDescription("Example Document") //设置描述
    ->setKeywords("example") //设置关键词
    ->setCategory("Example"); //设置分类

//添加标题和副标题
$spreadsheet->getActiveSheet()
    ->setCellValue('A1', 'Title')
    ->setCellValue('B1', 'Subtitle');

我们添加了一个标题和一个副标题,并将它们放置在A1和B1单元格中。现在我们可以添加更多内容来填充工作表。

//添加内容
$spreadsheet->getActiveSheet()
    ->setCellValue('A2', 'John Doe')
    ->setCellValue('B2', 'johndoe@example.com')
    ->setCellValue('A3', 'Jane Smith')
    ->setCellValue('B3', 'janesmith@example.com')
    ->setCellValue('A4', 'Bob Johnson')
    ->setCellValue('B4', 'bobjohnson@example.com');

现在我们已经添加了一些内容。接下来,我们需要将工作簿转换为Xlsx格式,并输出到用户的浏览器或保存在服务器上。

//将工作簿转换为Xlsx格式
$writer = new Xlsx($spreadsheet);

//下载文件
$filename = 'example.xlsx'; //文件名可以自定义
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');

$writer->save('php://output');

在上面的代码中,我们使用PhpOffice的Xlsx编写器将工作簿转换为Xlsx格式。然后,我们使用标头配置来输出文件,并指定下载的文件名。最后,我们使用$writer-> save()方法将文件发送到用户的浏览器。如果您不想将文件下载到浏览器,并希望将文件保存到服务器上,则可以更改$writer-> save()方法的参数。

总结

在本文中,我们了解了如何使用PhpOffice创建Excel文件,并将其下载到用户的浏览器。我们使用PhpSpreadsheet库和Xlsx编写器来完成这项任务,并使用标头配置来输出文件并指定文件名。现在您已经掌握了如何使用PhpOffice创建Excel文件,您可以使用它来创建更高级的Excel文档。