伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

PhpSpreadsheet中文文档 | 基础Spreadsheet开发使用示例

来源:网络转载 浏览:76次 时间:2022-11-22
<?php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
// 实例化Spreadsheet对象
$spreadsheet = new Spreadsheet();

// 1获取活动工作薄
$sheet = $spreadsheet->getActiveSheet();

// 2获取单元格
$cell = $sheet->getCell('A1');   //方法1,左上顶点(A1)
$cell = $sheet->getCellByColumnAndRow(1,1); //方法2,左上顶点(1,1)

// 3给获取的单元格赋值
$cell->setValue('A1单元格内容');

// 3-1获取设置单元格,链式操作
$sheet->getCell('A3')->setValue('郭靖');
$sheet->getCellByColumnAndRow(1,4)->setValue('杨康');

// 3-2获取单元格
$cellA = $sheet->getCell('A1');
echo '值: ', $cellA->getValue(),PHP_EOL;
echo '坐标: ', $cellA->getCoordinate();   //获取单元格坐标

// 4 Xlsx类 将电子表格保存到文件
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('1.xlsx');

// 4-1 将表格直接输出下载
$filename = urlencode('文件名称.xlsx');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');//工厂类
$writer->save('php://output');

// 坐标单元格赋值
/**
 * 参数说明
 * 设置单元格
 * setCellValue(参数1,参数2)
 * 参数1:单元格位置左上顶点A1
 * 参数2:单元格的值
 */
$sheet->setCellValue('A1','ID');
$sheet->setCellValue('B1','姓名');
$sheet->setCellValue('C1','年龄');
$sheet->setCellValue('D1','身高');

/**
 * setCellValueByColumnAndRow(参数1,参数2,参数3)
 * 参数1:列位置,第一列值1
 * 参数2:行位置,第一行值1
 * 参数3:单元格的值
 */
$sheet->setCellValueByColumnAndRow(1, 2, 1);
$sheet->setCellValueByColumnAndRow(2, 2, '李雷');
$sheet->setCellValueByColumnAndRow(3, 2, '18岁');
$sheet->setCellValueByColumnAndRow(4, 2, '188cm');

$sheet->setCellValueByColumnAndRow(1, 3, 2);
$sheet->setCellValueByColumnAndRow(2, 3, '韩梅梅');
$sheet->setCellValueByColumnAndRow(3, 3, '17岁');
$sheet->setCellValueByColumnAndRow(4, 3, '165cm');

/**
 * 赋值和类型,比如将数字指定为字符串格式,防止科学计数法显示
 * Data types类型:
 * const TYPE_STRING2 = 'str';
 * const TYPE_STRING = 's';
 * const TYPE_FORMULA = 'f';
 * const TYPE_NUMERIC = 'n';
 * const TYPE_BOOL = 'b';
 * const TYPE_NULL = 'null';
 * const TYPE_INLINE = 'inlineStr';
 * const TYPE_ERROR = 'e';
 */
$sheet->getCell('A1')->setValueExplicit($value, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValueExplicit('A1', $value, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
$sheet->setCellValueExplicitByColumnAndRow(1, 1, $value, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);

/**
 *  单元格文字样式设置
 */

// getStyle 获取单元格样式
// getFont 获取单元格文字样式
// setBold 设置文字粗细
// setName 设置文字字体
// setSize 设置文字大小

$sheet->getStyle('B2')->getFont()->setBold(true)->setName('宋体')->setSize(20);

/**
 * 单元格文字颜色
 */
// getColor 获取坐标颜色
// setRGB设置字体颜色
// getRGB 获取字体颜色
// setARGB 设置字体颜色
// getARGB 获取字体颜色
$sheet->getStyle('B2')->getFont()->getColor()->setRGB('#AEEEEE');
$sheet->getStyle('B3')->getFont()->getColor()->setARGB('FFFF0000');

/**
 *单元格格式
 */
$sheet->setCellValue('A1','2019-10-10 10:10:10');
$sheet->setCellValue('A2','2019-10-10 10:10:10');
$sheet->getStyle('A2')->getNumberFormat()->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_YYYYMMDD2);


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net