首页 > 编程语言 >PhpSpreadsheet 使用总结

PhpSpreadsheet 使用总结

时间:2022-12-15 10:00:15浏览次数:50  
标签:总结 workSheet 单元格 spreadsheet PhpSpreadsheet failedSpreadsheet 设置 使用

读取文件

1 $spreadsheet = IOFactory::createReader('Csv')//传文件类型首字母大写
  ->setReadDataOnly(true)//设置为只读取数据
  ->setReadEmptyCells(false)//不读取空白单元格
  ->load($path);//传文件路径

获取数据

$workSheet = $spreadsheet->getActiveSheet();//获取工作表($spreadsheet为加载文件后的变量)
$totalRow = $workSheet->getHighestRow();//获取总行数

//通过循环读取单元格数据
$name = $workSheet->getCellByColumnAndRow($i, $j)->getValue();//该方法传列号和行号

//rangeToArray()将范围内的单元格转化为数组
$rangeArr = $workSheet->rangeToArray('A1:D3');

生成表格

//通过数组渲染表格数据,参数详见文档,可传二位数组和一维数组,这要看包的版本
$failedSpreadsheet->fromArray($failedDataHeader, NULL, 'A1');

设置样式

//设置某个单元格的颜色,也可以通过此方法设置更多不同的样式,但是若通过循环来设置每一个单元格的样式效率不高,推荐使用范围设置
$failedSpreadsheet->getStyle('A2:B3')->getFont()->getColor()->setARGB(Color::COLOR_RED);

//范围设置
$styleArray = [
            'borders' => [//边框
                'allBorders' => [
                    'borderStyle' => Border::BORDER_THIN //细边框
                ]
            ],
            'alignment' => [//对齐
                'horizontal' => Alignment::HORIZONTAL_CENTER,
                'vertical' => Alignment::VERTICAL_CENTER
            ]
        ];
$failedSpreadsheet->getStyle('A1:E6')->applyFromArray($styleArray);

保存表格

$failedfile = new PhpOffice\PhpSpreadsheet\Spreadsheet();
$writer = new PhpOffice\PhpSpreadsheet\Writer\Xlsx($failedfile);
$writer->save($save_path);

标签:总结,workSheet,单元格,spreadsheet,PhpSpreadsheet,failedSpreadsheet,设置,使用
From: https://www.cnblogs.com/Ronnie-97/p/16984333.html

相关文章

  • 正确使用集合
    集合总体上分为线性集合和非线性集合。线性集合具有直接前驱和直接后驱;而非线性集合可能有多个后驱或者前驱。线性集合按存储方式又分为:直接存储和顺序存储。......
  • 在Python里使用ChatGPT
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • python中使用numpy模块画函数图像
    由于比较简单,只靠代码的注释就差不多了:1#导入需要的库importnumpyasnp2importmatplotlib.pyplotasplt34#定义变量和函数x=np.arange(-100,100,......
  • 前端开发系列064-网络篇之FormData基本使用
    title:前端开发系列064-网络篇之FormData基本使用tags:categories:[]date:2018-04-1009:31:25FormData简单介绍FormData是Ajax2.0-XMLHttpRequestLevel2提......
  • 使用Arthas热更新线上代码
    一般线上问题比开发环境的问题更难解决,一个主要的原因便在于开发态可以任意debug断点调试,而线上环境一般不允许远程调试,所以在实践中,我一般习惯用Arthas来定位线上的问......
  • Linux基础第十一章:日志文件及如何使用rsyslog搭建小型日志服务器
    一、日志文件1、日志作用2、常用日志3、日志级别二、Rsyslog日志处理系统1、使用Rsyslog创建日志有点2、Rsyslog配置文件解析3、使用rsyslog将ssh服务的日志单独设......
  • 数模混合芯片流片总结
    从九月持续到十二月,大概花了三个月时间主导了研究生期间的第一次流片,时间紧任务重,也得到了不少人的助力,这个过程中自己也学到了很多的东西,这里对这次流片经历做个简单的总......
  • 异常总结
    1、异常语法try:可能发生异常的代码except:如果出现异常执行的代码else:没有异常执行的代码finally:无论是否异常都......
  • Wireshark使用笔记
    Wireshark使用笔记,转载&学习《超详细的Wireshark使用教程》,并结合自己操作写以下笔记。wireshark是什么?wireshark是非常流行的网络封包分析软件,简称小鲨鱼,功能十分强大......
  • Vue组件的使用
    Vue组件简述组件化开发是Vue的开发模式,组件是Vue的重要组成部分。vue私有组件的使用分三步1.导入:importLeftfrom'@/components/Left.vue'2.注册:components:{Left......