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日

相关文章

  • Mac系统替换软件应用内文件的详细教程

    以下是“Mac系统替换软件应用内文件的详细教程”的完整攻略。 1. 前言 在 Mac 系统中,有些软件为了防止破解,会对一些关键文件进行加密或者隐藏,这使得我们很难修改软件的一些配置项。但是,如果我们想要对软件进行个性化定制或者优化,就必须替换这些文件。 在本攻略中,我们将会介绍如何替换软件应用内的文件。请注意,在进行类似操作之前,请备份好相关文件,以免出现…

    PHP 2023年5月26日
    00
  • PHP中数据库单例模式的实现代码分享

    想要在PHP中使用单例模式来管理数据库连接,需要遵循以下步骤: 1. 定义一个单例类 首先,我们需要定义一个单例类来负责创建和维护数据库连接。这个类应该只有一个实例,并且应该提供一个方法来获得这个实例。以下是一个简单的示例代码: class Database { private static $instance = null; private $connec…

    PHP 2023年5月23日
    00
  • php数组的概述及分类与声明代码演示

    下面给出详细讲解“PHP数组的概述及分类与声明代码演示”的完整攻略。 PHP数组的概述 数组是存储多个值的变量。在 PHP 中,数组是一种可以存储多个值的特殊变量类型。数组中的每个值都有一个对应的键,通过键来访问数组中的值。可以认为,数组是由多个键值对组成的集合。 PHP 数组有以下几个特点:1. 数组可以包含任意数量的值;2. 数组中的每个值都有一个对应的…

    PHP 2023年5月23日
    00
  • php多进程应用场景实例详解

    PHP多进程应用场景实例详解 PHP虽然是一门脚本语言,但是也可以通过多进程的方式来提高程序的并发能力,从而提高程序的性能。本文将详细讲解PHP多进程的应用场景与实例,并提供代码示例。 什么是多进程? 多进程指的是同一程序可以同时执行多次,每次执行都会开启一个新的进程,这些进程各自独立完成任务,从而提高程序的并发能力。 多进程的应用场景 1. 并行处理任务 …

    PHP 2023年5月23日
    00
  • 解决PHP字符串长度不一致的问题

    针对“解决PHP字符串长度不一致的问题”的完整攻略,我给出以下的详细讲解: 1. 获取字符串长度 我们可以使用PHP内置函数strlen获取一个字符串的长度。示例代码如下: $str = ‘hello world’; $length = strlen($str); echo $length; // 输出11 2. 计算中英文混合字符串长度 如果字符串中包含中…

    PHP 2023年5月26日
    00
  • 实例讲解php将字符串输出到HTML

    以下是“实例讲解PHP将字符串输出到HTML”的完整攻略: 基本概念 在PHP中,我们可以使用echo、print和printf等方法来将字符串输出到HTML页面中。其中echo是最常用的一种方法。 echo方法 echo方法可以输出一个或多个字符串,其语法为: echo string1, string2, string3, … 在调用时,可以将多个字符…

    PHP 2023年5月26日
    00
  • PHP7.1实现的AES与RSA加密操作示例

    PHP7.1实现的AES与RSA加密操作示例 本文主要讲解如何在PHP7.1环境下使用AES与RSA加密算法进行数据加密。在实现过程中,本文会提供两个示例,一个是使用AES加密算法加密数据的示例,另一个是使用RSA加密算法加密数据的示例。 AES加密算法 AES加密算法是一种对称加密算法,是目前应用最广泛的加密算法之一,具有高度的安全性和可靠性。以下是使用P…

    PHP 2023年5月26日
    00
  • php实现多城市切换特效

    下面是如何使用PHP实现多城市切换特效的攻略: 1. 准备工作 首先,需要准备以下工作: PHP环境 多个城市的数据 具有地理定位功能的API 2. 数据结构和设计 设计一个数据结构,其中包括城市名称、经纬度和城市图片。 $city_list = array( array(‘name’=>’北京’,’lat’=>’39.90469′,’lng’=…

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