php操作excel文件 基于phpexcel

yizhihongxing

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将数组转换成csv格式文件输出的方法

    下面是将PHP数组转换成CSV格式文件输出的方法: 1. 使用fputcsv()函数实现 <?php // 定义数据数组 $data = array( array(‘name’, ‘age’, ’email’), array(‘Tom’, 20, ‘tom@example.com’), array(‘Jack’, 25, ‘jack@example.c…

    PHP 2023年5月26日
    00
  • PHP模块化安装教程

    PHP模块化安装教程 PHP是广泛使用的服务器端脚本语言,它可以通过模块化方式安装多个扩展,从而扩展功能,这篇教程将介绍PHP的模块化安装教程。 步骤1:安装PHP及其扩展 在开始安装之前,首先需要安装PHP本身和一些常用的扩展。以Ubuntu为例,在命令行输入以下命令即可安装PHP和一些常用的扩展: sudo apt-get update sudo apt…

    PHP 2023年5月23日
    00
  • 如何使用php生成zip压缩包

    生成zip压缩包是一个很常用的需求,在PHP中我们可以通过ZipArchive类来轻松实现。下面是使用PHP生成zip压缩包的完整攻略: 步骤1:创建ZipArchive对象 首先,我们需要实例化 ZipArchive 类,并且打开一个新的压缩文件。 $zip = new ZipArchive(); $zipFileName = ‘test.zip’; if…

    PHP 2023年5月26日
    00
  • PHP实现数组和对象的相互转换操作示例

    PHP可以通过内置函数实现数组和对象的相互转换,具体过程如下: 1.将数组转换成对象 如果要将PHP数组转换为对象,则需要使用 PHP 内置的 stdClass 类。该类可以实例化一个空的对象,并用数组项给对象属性赋值。示例如下: <?php // 定义一个 PHP 数组 $array = array( ‘name’ => ‘张三’, ‘age’…

    PHP 2023年5月26日
    00
  • PHP输出数组中重名的元素的几种处理方法

    PHP输出数组中重名的元素的几种处理方法 当一个数组中包含有重复的元素时,我们需要对重复元素进行处理并输出。下列是几种处理重复元素的方法: 方法一:循环遍历数组去除重复元素 在这个方法中,我们在遍历整个数组结束后得到新的数组,新的数组中不包含任何重复元素。 $arr = array(1, 2, 3, 1, 2, 4); $newArr = array(); …

    PHP 2023年5月26日
    00
  • PHP写MySQL数据 实现代码

    下面是PHP写MySQL数据的完整攻略: 前置条件 在开始编写代码之前,需要确保已经完成以下操作: 安装并启动了 MySQL 数据库。 安装了 PHP。 创建数据库和表 在开始编写 PHP 代码之前,需要先创建数据库和表。可以通过以下 SQL 语句来完成: CREATE DATABASE dbname; USE dbname; CREATE TABLE ta…

    PHP 2023年5月27日
    00
  • PHP 的比较运算与逻辑运算详解

    PHP 的比较运算与逻辑运算详解 1. 比较运算符 比较运算符用于比较两个值并返回一个布尔值(true 或 false)。下面是 PHP 中常用的比较运算符: 1.1 相等 (==) 相等运算符用于比较两个值是否相等。如果值相等返回 true,否则返回 false。 示例代码: $x = 10; $y = "10"; if ($x == …

    PHP 2023年5月26日
    00
  • php floor()函数案例详解

    PHP floor()函数案例详解 在进行 Web 开发时,我们经常会用到一些数学相关的函数,比如说向下取整函数(floor())。这篇文章将详细讲解 PHP 中的 floor() 函数,以及如何使用它来进行数字的精确计算。 什么是 floor() 函数? 在 PHP 中,floor() 函数用于对一个浮点数进行向下取整(即去掉小数部分,取整数部分)。 fl…

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