php操作excel文件 基于phpexcel

PHP操作Excel文件 基于PHPExcel

PHPExcel是一个开源的PHP类库,用于操作Excel文件。使用PHPExcel可以实现将数据导出Excel、将Excel文件读取到PHP数组中等功能。
以下为PHPExcel的安装及基本用法。

安装

PHPExcel最新版已经停止更新,建议使用替代类库“PhpSpreadsheet”,安装方法如下:

  1. 使用composer进行安装
composer require phpoffice/phpspreadsheet

基本用法

1.在PHP中导出Excel文件

在PHP中使用PHPExcel来导出Excel的步骤如下:

  1. 加载PHPExcel类库
require('/path/to/PHPExcel.php');
  1. 创建一个新的PHPExcel对象并设置默认属性
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()
    ->setCreator("Your Name")
    ->setLastModifiedBy("Your Name")
    ->setTitle("Title")
    ->setSubject("Subject")
    ->setDescription("Description")
    ->setKeywords("Keywords")
    ->setCategory("Category");
  1. 插入数据并设置单元格格式
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello World!');
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  1. 输出Excel文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="test.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
  1. 示例代码
require_once '/path/to/vendor/autoload.php';
// 创建PHPExcel对象
$objPHPExcel = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
// 获取当前活动的工作表
$objSheet = $objPHPExcel->getActiveSheet();
// 设置当前工作表的属性
$objSheet->setTitle('标题');
// 设置表头
$objSheet->setCellValueByColumnAndRow(1, 1, '学号');
$objSheet->setCellValueByColumnAndRow(2, 1, '姓名');
$objSheet->setCellValueByColumnAndRow(3, 1, '班级');
// 设置样式
$objStyle = $objSheet->getStyle('A1:C1');
$objStyle->getFont()->setBold(true);
// 设置对齐方式
$objAlignment = $objStyle->getAlignment();
$objAlignment->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);
// 填充数据
$data = [
    [1, '张三', '一班'],
    [2, '李四', '一班'],
    [3, '王五', '二班'],
];
$objSheet->fromArray($data, null, 'A2');
// 输出Excel文件
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="example.xls"');
header('Cache-Control: max-age=0');
$objWriter = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($objPHPExcel, 'Xls');
$objWriter->save('php://output');

2.在PHP中读取Excel文件

在PHP中使用PHPExcel来读取Excel文件的步骤如下:

  1. 加载PHPExcel类库
require('/path/to/PHPExcel.php');
  1. 加载Excel文件
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load('/path/to/file.xlsx');
  1. 读取Excel文件中的数据
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    $worksheetTitle = $worksheet->getTitle();
    $highestRow = $worksheet->getHighestRow();
    $highestColumn = $worksheet->getHighestColumn();
    for ($row = 1; $row <= $highestRow; $row++) {
        $rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
        // $rowData为读取到的一行数据
    }
}
  1. 示例代码
require_once '/path/to/vendor/autoload.php';
// 加载Excel文件
$objReader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$objPHPExcel = $objReader->load('example.xlsx');
// 读取Excel文件中的数据
$data = [];
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    $worksheetTitle = $worksheet->getTitle();
    $highestRow = $worksheet->getHighestRow();
    $highestColumn = $worksheet->getHighestColumn();
    for ($row = 2; $row <= $highestRow; $row++) {
        $rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false);
        $data[] = [
            'id' => $rowData[0][0],
            'name' => $rowData[0][1],
            'class' => $rowData[0][2],
        ];
    }
}
print_r($data);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php操作excel文件 基于phpexcel - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 遭遇php的in_array低性能问题

    当使用in_array()函数来查找一个值是否在一个数组中存在时,如果该数组中的元素数量较多,该函数的性能会受到影响。本攻略将详细讲解如何遭遇php的in_array()低性能问题以及优化的方法,包含以下几个方面: 性能分析 优化方案 性能分析 查看API文档 在使用in_array()函数之前,我们需要先了解这个函数的使用方式和限制条件。可以查看官方文档或…

    PHP 2023年5月26日
    00
  • PHP laravel使用自定义邮件类实现发送邮件

    以下是关于“PHP Laravel使用自定义邮件类实现发送邮件”的完整使用攻略: 基础知识 在了解PHP Laravel使用自定义邮件类实现发送邮件之前,需要掌握一些基本概念,包括邮件发送的基本概念、邮件发送的应用场景、邮件发送的优缺点等。以下是一些常见的基础知识: 邮件发送的基本概念包括邮件发送的定义、邮件发送的特点等。 邮件发送的应用场景包括邮件发送的常…

    PHP 2023年5月12日
    00
  • 又一个php 分页类实现代码

    我会详细讲解“又一个php 分页类实现代码”的完整攻略。 又一个php 分页类实现代码 什么是分页? 分页是指将一定量的数据进行切割,每次只显示其中一部分数据的方式,将多页面切成一个个子页面,以方便用户阅读。 为什么需要分页? 大数据的处理必须使用分页机制,可以将一部分数据流进行缓存,减轻服务器压力,并能有效地提高用户体验。 怎么实现分页? 本文主要介绍一个…

    PHP 2023年5月27日
    00
  • PHP与javascript实现变量交互的示例代码

    让我来为您讲解一下“PHP与Javascript实现变量交互的示例代码”的完整攻略。 首先,我们需要了解一下什么是PHP和Javascript。PHP是一种流行的服务器端脚本语言,用于创建动态网站和Web应用程序。而Javascript则是一种客户端脚本语言,用于增加网站的交互性和动态性。另外,需要注意的是,PHP和Javascript是运行在不同的环境中的…

    PHP 2023年5月27日
    00
  • Laravel实现队列的示例代码

    下面是“Laravel实现队列的示例代码”的完整使用攻略,包括队列的基本原理、队列的配置和使用、队列的监控和管理以及两个示例说明。 队列的基本原理 队列是一种异步处理任务的技术,它可以将任务放入队列中,然后由后台进程异步处理。Laravel提供了对队列的支持,它使用PHP代码来描述任务,然后使用队列驱动程序将任务放入队列中,由后台进程异步处理。 Larave…

    PHP 2023年5月12日
    00
  • PHP数据集构建JSON格式及新数组的方法

    当使用PHP开发Web应用程序时,数据集的构建是非常重要的一环。JSON(JavaScript对象表示法)是一个用于数据交换的轻量级格式,因此构建JSON格式的数据集,能够实现Web应用中客户端和服务端之间的无缝数据交互。以下是一些用PHP构建JSON格式数据集和新数组的示例。 构建JSON格式数据集 1. 使用原生PHP函数 PHP提供了一些原生函数用于操…

    PHP 2023年5月26日
    00
  • php分页查询的简单实现代码

    当网站的数据量非常多时,需要对数据进行分页来方便用户浏览。PHP分页查询是一个非常常见的需求,下面我们来讲解一下PHP分页查询的简单实现代码。 步骤一:获取分页相关信息 在开始分页之前,我们需要获取分页相关的信息,包括当前页码($page)、每页记录数($pageSize)和总记录数($total)。其中,当前页码和每页记录数可以由前端传递过来,而总记录数需…

    PHP 2023年5月24日
    00
  • php数组函数序列之asort() – 对数组的元素值进行升序排序,保持索引关系

    asort()是一个PHP数组函数,用于对数组的元素值进行升序排序。此函数排序后会保持原有的索引关系,也就是说,排序后的数组依旧保留着原有的键名和键值对应关系。 asort()函数的语法如下: asort(array $array , int $sort_flags = SORT_REGULAR ); 其中,第一个参数$arry表示需要排序的数组;第二个参数…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部