iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PhpSpreadsheet 基本使用和导入 导出 模版生成Excel文件
  • 136
分享到

PhpSpreadsheet 基本使用和导入 导出 模版生成Excel文件

excelPhpSpreadsheetphp 2023-09-08 13:09:33 136人浏览 薄情痞子
摘要

一. 基本使用

一. 基本使用

getActiveSheet();//$spreadSheet->getProperties()->setCreator("hellow");//设置作者//$spreadSheet->getSheetCount();//工作表总数//$spreadSheet->getSheetNames();//工作表名数组//$sheet = $spreadSheet->getSheetByName('Sheet1');//根据表名获取工作表//$sheet = $spreadSheet->getSheet(0);//根据表索引获取工作表//$sheet = $spreadSheet->setActiveSheetIndex(0);//切换当前工作表//$sheet = $spreadsheet->setActiveSheetIndexByName('DataSheet')//设置打印选项$sheet->getPageSetup()->setFitToWidth(1);$sheet->getPageSetup()->setFitToHeight(0);$sheet->getPageSetup()->setOrientation(PageSetup::ORIENTATION_LANDSCAPE)->setPaperSize(PageSetup::PAPERSIZE_A4);;$sheet->getPageMargins()->setTop(1)->setRight(0.75)->setLeft(0.75)->setBottom(1);$sheet->getPageSetup()->setHorizontalCentered(true)->setVerticalCentered(false);$sheet->setPrintGridlines(true);$sheet->getPageSetup()->setPrintArea('A1:E5,G4:M20');//设置缩放$sheet->getSheetView()->setZoomScale(75);//设置worksheet的颜色$sheet->getTabColor()->setRGB('FF0000');//设置worksheet名字$sheet->setTitle('sheet 1');//设置默认样式$spreadsheet->getDefaultStyle()->getFont()->setName('Arial');$spreadsheet->getDefaultStyle()->getFont()->setSize(8);//获取文档所有值$data = $sheet->toArray();//获取最大行数 $res = $sheet->getHighestRow();//获取最大列数 $res = $sheet->getHighestColumn();//单元格信息$cell = $sheet->getCellByColumnAndRow(2, 1); //获取单元格 B1$cell = $sheet->getCell('A1'); //获取单元格A1$cell->getValue(); //获取单元格的数据值$cell->getCoordinate(); //获取行列信息 A1$column = $cell->getColumn(); //获取列信息 A$row   = $cell->getRow(); //获取行信息 1$cell->getDataType(); //获取数据类型$cell->setValue('8888'); //设置值$cell->getStyle()->getFont()->getName(); //单元格样式//设置行高$sheet->getDefaultRowDimension()->setRowHeight(10, 'mm');$sheet->getRowDimension(1)->setRowHeight(10, 'mm');//设置列宽// $sheet->getColumnDimension('A')->setAutoSize(true);//$sheet->getColumnDimension('A')->setWidth(300);//设置A列的宽度$sheet->getDefaultColumnDimension()->setWidth(20); //设置列默认宽度//设置换行$sheet->setCellValue('A2', "hellow\nphp"); //设置换行 双引号+\n+setWrapText$sheet->getStyle('A2')->getAlignment()->setWrapText(true); //设置换行//合并拆分单元格$sheet->mergeCells('B2:B3');// $sheet->unmergeCells('B2:B3');//设置值// $sheet->setCellValue('A1', "hellow\nphp");$sheet->setCellValueByColumnAndRow(2, 2, '6666'); //设置B2的值// $sheet->fromArray($arr, null, 'D5'); //数组,空值时填充值,开始单元格坐标//设置超链接$sheet->setCellValue('B3', "百度"); //设置A链接$sheet->getCell('B3')->getHyperlink()->setUrl('https://www.baidu.com');// $sheet->setCellValue('E26', 'www.phpexcel.net');// $sheet->getCell('E26')->getHyperlink()->setUrl("sheet://'Sheetname'!A1");//设置字体粗细大小颜色$sheet->getStyle('B3')->getFont()->setBold(true)->setName('Arial')->setSize(20);$sheet->getStyle('B3')->getFont()->getName(); //字体名$sheet->getStyle('B3')->getFont()->getColor()->setRGB('#AEEEEE'); //设置颜色$sheet->getStyle('B3')->getFont()->getColor()->getRGB(); //获取颜色值$sheet->getCell('C3')->setValue('2021-03-27 23:22:59');//$sheet->getStyle('D2')->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_DDMMYYYY);//设置日期格式 $sheet->getStyle('D3')->getNumberFormat()->setFormatCode('dd/mm/yyyy'); //设置日期格式 与上文相同//设置单元格背景色$sheet->getStyle('E3')->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB(Color::COLOR_GREEN);//设置单元格对齐方式$sheet->getStyle('B2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);$sheet->getStyle('B2')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER);//设置单元格边框$sheet->getStyle('C2:E2')->getBorders()->getBottom()->setBorderStyle(Border::BORDER_THIN);//富文本$html = 'bold, italic, bold+italic';;$wizard = new HtmlHelper();$richText = $wizard->toRichTextObject($html);$sheet->setCellValue('D5', $richText);//公式$sheet->setCellValue('A4', '=IF(C4>500,"profit","loss")');// $formula = $sheet->getCell('A4')->getValue();// $value = $sheet->getCell('A4')->getCalculatedValue();//插入删除行列$sheet->insertNewRowBefore(7, 2);$sheet->removeRow(7, 2);//写入图片$drawing = new Drawing();$drawing->setName('Logo')->setDescription('Logo')->setPath('../files/1.jpg')->setHeight(30)->setCoordinates('D6')->setOffsetX(50)->setOffsetY(6);$drawing->setRotation(25);$drawing->getShadow()->setVisible(true);$drawing->getShadow()->setDirection(45);$drawing->setWorksheet($sheet);//设置单元格数据类型$sheet->getCell('A1')->setValueExplicit('25', DataType::TYPE_NUMERIC);//格式$styleArray = [    'font' => [        'bold' => true,    ],    'alignment' => [        'horizontal' => Alignment::HORIZONTAL_RIGHT,    ],    'borders' => [        'top' => [            'borderStyle' => Border::BORDER_THIN,        ],    ],    'fill' => [        'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_GRADIENT_LINEAR,        'rotation' => 90,        'startColor' => [            'argb' => 'FFA0A0A0',        ],        'endColor' => [            'argb' => 'FFFFFFFF',        ],    ],];$filename = '01simple.xlsx';$sheet->getStyle('A5:E5')->applyFromArray($styleArray);// // 保存xlsx在本地// $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');// $writer->save('01simple.xlsx');// 下载xlsxheader('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename="' . $filename . '"');header('Cache-Control: max-age=0');header('Cache-Control: max-age=1');header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the pastheader('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modifiedheader('Cache-Control: cache, must-revalidate'); // HTTP/1.1header('Pragma: public'); // HTTP/1.0$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');$writer->save('PHP://output');exit;

二. 导出(写入)

getActiveSheet();        $sheet->setCellValue('A1', 'a1');        $sheet->setCellValue('A2', 'a2');        $sheet->setCellValue('A3', 'a3');        $sheet->setCellValue('A4', 'a4');        $sheet->setCellValue('B1', 'b1');        $sheet->setCellValue('B2', 'b2');        $sheet->setCellValue('B3', 'b3');        $sheet->setCellValue('B4', 'b4');        $writer = IOFactory::createWriter($spreadsheet, 'Xls');        $writer->save('php://output');        return;    }}

三. 导入(读取)

setReadDataOnly(TRUE);        $spreadsheet = $reader->load('Public/hello.xlsx'); //载入excel表格        $sheet = $spreadsheet->getSheet(0); // 读取第一個工作表        $highest_row = $sheet->getHighestRow(); // 取得总行数        $highest_columm = $sheet->getHighestColumn(); // 取得总列数        for ($row = 1; $row <= $highest_row; $row++){ //行号从1开始            for ($column = 'A'; $column <= $highest_columm; $column++){ //列数是以A列开始                $str = $sheet->getCell($column . $row)->getValue();                dump($str);            }        }    }}

四. 模版导出(读写)

setActiveSheetIndex(0);         // 指向激活的工作表        $worksheet = $spreadsheet->getActiveSheet();        $worksheet->getCell('A1')->setValue('John');        $worksheet->getCell('A2')->setValue('Smith');         // 样式设置 加边框        $styleThinBlackBorderOutline = array(            'borders' => [                'allBorders' => [                    'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,                    'color' => ['argb' => '666666'],                ],            ]        );        $worksheet->getStyle( 'A6:H'.$i)->applyFromArray($styleThinBlackBorderOutline);         // 结束 进行导出        ob_end_clean(); // 清空(擦除)缓冲区并关闭输出缓冲        ob_start(); // 打开输出控制缓冲         $date = date("Ymd",time());        $listname = 'hello'.$date;         header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');        header('Content-Disposition: attachment;filename="'.$listname . '.xlsx"');        header('Cache-Control: max-age=0');         $writer = IOFactory::createWriter($spreadsheet, 'Xlsx');        $writer->save('php://output');         }    }}

来源地址:https://blog.csdn.net/withoutfear/article/details/127900108

--结束END--

本文标题: PhpSpreadsheet 基本使用和导入 导出 模版生成Excel文件

本文链接: https://www.lsjlt.com/news/399984.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PhpSpreadsheet 基本使用和导入 导出 模版生成Excel文件
    一. 基本使用 ...
    99+
    2023-09-08
    excel PhpSpreadsheet php
  • PHP使用PhpSpreadsheet 导出excel文件
            PhpSpreadsheet 是使用PHP语言编写的用户操作excel的类库,提供了一系列丰富的接口,可很方便的对文档属性、单元格进行操作,包括设置样式、图片、日期、函数等等。 PhpSpreadsheet用方法也很简单,示...
    99+
    2023-10-25
    excel php
  • 使用PhpSpreadsheet怎么导入导出Excel
    这篇文章给大家介绍使用PhpSpreadsheet怎么导入导出Excel,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。phpspreadsheet 引入由于PHPExcel早就停止更新维护,所以适用phpspreads...
    99+
    2023-06-15
  • PHPOffice/PhpSpreadsheet的导入导出操作基本使用
    phpspreadsheet 引入 由于PHPExcel早就停止更新维护,所以适用phpspreadsheet。不知道如何通过composer拉取项目包的同学,可以查看Composer学习一文。引入方...
    99+
    2023-09-08
    php
  • 使用php 实现生成Excel文件并导出
    在现在的项目里,不管是电商项目还是别的项目,在管理端都会有导出的功能,比方说订单表导出,用户表导出,业绩表导出。这些都需要提前生成excel表,然后在导出,实际上是在代码里生成一张excel表,然后通...
    99+
    2023-09-02
    excel php 开发语言
  • JavaHutool工具实现验证码生成及Excel文件的导入和导出
    目录1、Hutool工具简介2、Hutool的相关依赖3、验证码工具4、excel工具1、Hutool工具简介 HuTool工具(糊涂工具),第三方插件工具,简化操作,是国产的一个产...
    99+
    2024-04-02
  • 利用模板导出文件之XLSTransformer导出excel文件
    使用XLSTransformer库导出excel文件的步骤如下:1. 安装XLSTransformer库:在命令行中运行`pip i...
    99+
    2023-09-14
    excel
  • JavaScript 中使用SpreadJS导入和导出 Excel 文件的方法
    目录设置 JavaScript 电子表格项目添加 Excel 导入代码将数据添加到导入的 Excel 文件添加迷你图添加 Excel 导出代码JavaScript在前端领域占据着绝对...
    99+
    2024-04-02
  • 如何使用koa2完成Excel导入导出
    这篇文章主要介绍了如何使用koa2完成Excel导入导出的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用koa2完成Excel导入导出文章都会有所收获,下面我们一起来看看吧。一、安装 node-xlsxn...
    99+
    2023-07-05
  • 详解使用koa2完成Excel导入导出
    目录一、安装 node-xlsx二、导出excel表三、导入excel表结语一、安装 node-xlsx npm i node-xlsx 二、导出excel表 首先是查询出数据库...
    99+
    2023-05-13
    koa2导入导出Excel koa2 Excel
  • 从SQL Server中导入和导出Excel的基本方法
    这篇文章主要讲解了“从SQL Server中导入和导出Excel的基本方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“从SQL Server中导入和导出E...
    99+
    2024-04-02
  • PHP网页怎么导出和导入excel文件
    本篇内容主要讲解“PHP网页怎么导出和导入excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP网页怎么导出和导入excel文件”吧!导出和导入表单代码:<p sty...
    99+
    2023-06-04
  • 怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出
    这篇文章主要介绍“怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出”,在日常操作中,相信很多人在怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出问题上存在疑惑,小编查阅...
    99+
    2023-06-21
  • 如何使用PHP原生来导出Excel和CSV文件
    这篇文章主要介绍“如何使用PHP原生来导出Excel和CSV文件”,在日常操作中,相信很多人在如何使用PHP原生来导出Excel和CSV文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用PHP原生来导...
    99+
    2023-06-20
  • EXCEL文件软件利用POI模板导出
    本篇文章给大家分享的是有关EXCEL文件软件利用POI模板导出,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一般的EXCEL导出使用POI先创建一个HSSFWorkbook,然...
    99+
    2023-05-31
    poi excel
  • 怎么使用Java+element实现excel导入和导出
    本篇内容介绍了“怎么使用Java+element实现excel导入和导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本项目是前端vue3,...
    99+
    2023-07-06
  • 如何使用java导出Excel文件
    如何使用java导出Excel文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java导出Excel通用方法的实例详解Java导出Excel通用方法,只需要一...
    99+
    2023-05-31
    java excel ava
  • PHP实现生成Excel文件并导出的示例详解
    在现在的项目里,不管是电商项目还是别的项目,在管理端都会有导出的功能,比方说订单表导出,用户表导出,业绩表导出。这些都需要提前生成excel表,然后在导出,实际上是在代码里生成一张e...
    99+
    2023-01-11
    PHP生成Excel PHP导出Excel PHP Excel
  • 使用SSIS怎么批量导入Excel文件
    使用SSIS怎么批量导入Excel文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。将一个目录下(可以包括子目录)结构一样的excel文件批量...
    99+
    2024-04-02
  • Java树形结构数据生成导出excel文件方法记录
    目录什么是树形结构数据 效果用法源码总结什么是树形结构数据 效果 用法 String jsonStr = "{\"name\":\"aaa\",\"children\":[...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作