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闭包定义与使用简单示例

    下面我将为你详细讲解 “PHP闭包定义与使用简单示例” 的完整攻略。 什么是闭包? 闭包(Closure)是一个能够读取其他函数内部变量的函数,或者是定义在外部函数作用域之外的变量。闭包就是能够将函数内部的局部变量和方法,带到外部去使用的一个机制。 在 PHP 中,闭包通常使用匿名函数(Anonymous Functions)来实现。 闭包的定义 在 PHP…

    PHP 2023年5月26日
    00
  • 批量下载对路网图片并生成html的实现方法

    我来为你详细讲解“批量下载对路网图片并生成html的实现方法”的完整攻略。 实现方法 确定目标图片网站 首先需要确定目标图片网站,找到需要下载的图片所在的页面 找到图片标签 在目标网站页面中,需要找到所有图片元素所对应的标签,通常是<img>标签 提取图片链接 提取每个图片标签中的src属性即可得到图片下载链接 下载图片 用python程序对获取…

    PHP 2023年5月27日
    00
  • 详解各种PHP函数漏洞

    下面是详解各种PHP函数漏洞的完整攻略。 1. PHP函数漏洞概述 PHP是一种常用的Web编程语言,而PHP语言中有很多常用的函数,这些函数在网站开发中有着重要的用途。但是在使用函数的过程中会经常出现安全问题,这些问题被成为PHP函数漏洞。 PHP函数漏洞通常是由于函数使用不当或者参数传递错误导致的,在攻击者利用PHP函数漏洞之后,可以获取站点的敏感信息、…

    PHP 2023年5月27日
    00
  • PHP调用外部程序的方法解析

    下面是详细讲解“PHP调用外部程序的方法解析”的完整攻略。 PHP调用外部程序的方法解析 在某些情况下,PHP需要调用外部程序,比如使用FFmpeg处理视频,使用ImageMagick处理图片等。这时,PHP可以使用一些函数来调用外部程序,本文将对这些函数进行介绍。 exec函数 exec函数是PHP调用外部程序的最简单函数之一,在调用外部程序时,该函数会将…

    PHP 2023年5月30日
    00
  • php 魔术函数使用说明

    PHP魔术函数使用说明 在 PHP 中,有一些特殊的函数被称为魔术函数。使用这些函数可以让你在类中定义更多的行为。本文将详细介绍魔术函数,并提供两个示例。 魔术函数的概述 魔术函数以 __ 开头,并以方法名的形式出现。一些常用的魔术函数及其作用如下: __construct():当一个对象被创建时调用该函数。 __destruct():当一个对象被销毁时调用…

    PHP 2023年5月27日
    00
  • PHP多维数组元素操作类的方法

    我将详细讲解“PHP多维数组元素操作类的方法”的完整攻略。下面是具体的步骤: 1. 什么是多维数组 多维数组是指数组中的元素也是数组的数组,即二维数组、三维数组等等。在PHP中,多维数组的元素可以是任意数据类型,包括整型、字符串、浮点型、对象等。 2. 多维数组元素操作方法 2.1 获取多维数组元素 获取多维数组元素的方式与获取普通数组元素类似,但需要指定所…

    PHP 2023年5月26日
    00
  • PHP简单读取PDF页数的实现方法

    下面是讲解“PHP简单读取PDF页数的实现方法”的完整攻略: 介绍 在PHP中如何读取PDF文件的页数是一个比较常见的问题。本文将介绍两种实现方法,第一种是使用系统命令来读取页数,第二种是使用PHP PDF解析工具库来读取页数。 方法一:使用系统命令读取PDF页数 可以使用系统命令来读取PDF文件的页数,具体方式是使用PDFinfo工具。需要先安装PDFin…

    PHP 2023年5月26日
    00
  • 腾讯灵鲲金融是什么 灵鲲金融风险查询举报中心小程序入口、作用及使用方法

    腾讯灵鲲金融是什么 简介 腾讯灵鲲金融是一款由腾讯公司开发的智能理财小程序,集合了借款、投资、理财、信用管家、风险评估等多种功能于一身。用户可以通过灵鲲金融查询自己的信用记录和信用评级,快速了解自己的风险等级,进行风险防范和管理。 功能 腾讯灵鲲金融的主要功能如下: 借款:提供多种借款方式的选择,借款审核通过后,资金可快速到账。丰富的还款方式,还款灵活。 投…

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