PhpSpreadsheet是一个PHP表格文件处理库,可用来读写excel文件,本文介绍如何在禅道中引入PhpSpreadsheet库,可以使用它来解析Excel文件,比如上传excel格式的测试用例、导出测试用例为excel格式等。
安装PhpSpreadsheetPhpSpreadsheet要求PHP 7.3及以上版本,如果禅道使用的PHP版本低于7.3请不要使用它来处理excel格式文件。
由于禅道安装在centos7中,这里介绍如何在centos7中安装PhpSpreadsheet,另外顺便也记录一下在windows系统中安装phpspreadsheet的步骤。
linux安装这里介绍centos7中如何安装PhpSpreadsheet到禅道目录下。
1. 安装compor需要使用compor进行安装PhpSpreadsheet,先安装一下compor工具。
安装:
# 下载compor$ curl -sS https://getcompor.org/installer | phpAll ttings correct for using ComporDownloading...Compor (version 2.2.7) successfully installed to: /root/compor.pharU it: php compor.phar# 将compor.phar文件移动到bin目录以便全局使用compor命令$ mv compor.phar /usr/local/bin/compor# 切换国内源$ compor config -g repo.packagist compor https://mirrors.aliyun.com/compor/
2. 卸载低版本PHP
卸载原来的低版本PHP:
$ rpm -qa|grep phpphp-cli-5.4.16-48.el7.x86_64php-common-5.4.16-48.el7.x86_64php-5.4.16-48.el7.x86_64$ rpm -e php-cli-5.4.16-48.el7.x86_64错误:依赖检测失败: php-cli(x86-64) = 5.4.16-48.el7 被 (已安裝) php-5.4.16-48.el7.x86_64 需要$ rpm -e php-5.4.16-48.el7.x86_64警告:/etc/httpd/conf.d/php.conf 已另存为 /etc/httpd/conf.d/php.conf.rpmsave$ rpm -e php-cli-5.4.16-48.el7.x86_64$ rpm -e php-common-5.4.16-48.el7.x86_64
将禅道的PHP 加入环境变量:
vi /etc/profileexport PATH="$PATH:/opt/zbox/bin/"source /etc/profile
3. 安装phpspreadsheet
进入禅道目录安装phpspreadsheet:
$ cd /opt/zbox/app/zentao/lib$ mkdir excel$ cd excel$ compor require phpoffice/phpspreadsheet
会自动安装到vendor目录下:
$ pwd/opt/zbox/app/zentao/lib/excel/vendor$ lsautoload.php compor ezyang maennchen markbaker myclabs phpoffice psr symfony
windows安装
我使用的是XAMPP软件包配置的PHP环境,和linux中一样,先安装PHP依赖管理工具compor。
1. 安装compor下载phar文件 compor.phar:https://getcompor.org/download/,复制到D: oolsxamppphppear 目录下,创建 compor.bat 文件,编写代码:
@php %~dp0compor.phar %*
然后将 D: oolsxamppphppear 目录添加到环境变量。
打开cmd窗口,执行 compor -V 查看是否安装成功:
$ compor -VCompor version 2.3.3 2022-04-01 22:15:35
也可以下载 Compor-Setup.exe 文件进行安装。
2. 安装phpspreadsheet进入 D: oolsxamppphppear 目录下,执行:
compor require phpoffice/phpspreadsheet
如果报如下错误:
Installation failed, deleting ./compor.json.In RequireCommand.php line 210: No compor.json prent in the current directory (./compor.json), this may be the cau of the following excepti on.In PackageDiscoveryTrait.php line 308: Package phpoffice/phpspreadsheet has requirements incompatible with your PHP version, PHP extensions and Compor v ersion: - phpoffice/phpspreadsheet 1.22.0 requires ext-gd * but it is not prent.
修改 D: oolsxamppphpphp.ini 文件,取消 extension=gd 和 extension=fileinfo 的注释。
安装完成后执行 compor info 可看到安装的 phpoffice/phpspreadsheet 包。
禅道集成PhpSpreadsheetPhpSpreadsheet安装到禅道目录后就可以使用它来处理excel文件了,先在module目录下创建模块excel,然后在/module/excel 创建文件model.php,编写读取Excel文件方法:
<?phprequire '/opt/zbox/app/zentao/lib/excel/vendor/autoload.php';u PhpOfficePhpSpreadsheetIOFactory;u PhpOfficePhpSpreadsheetReaderXlsx;u PhpOfficePhpSpreadsheetReaderXls;u PhpOfficePhpSpreadsheetCellCoordinate;class excelModel extends model{ /** * Par Excel. * * @param string $fileName * @access public * @return void */ public function readexcel($fileName) { // $reader = new Xlsx(); // $spreadsheet = $reader->load($fileName); $reader = IOFactory::createReader('Xlsx'); $spreadsheet = $reader->load($fileName); // $datas = $spreadsheet->getActiveSheet()->toArray(); $worksheet = $spreadsheet->getActiveSheet(); $worksheetArray = $worksheet->toArray(); }}
PhpSpreadsheet的更多使用方法可参考官方文档:https://phpspreadsheet.readthedocs.io/en/latest/ 。
--THE END--
起风了,要努力活下去吗,不,无须如此。——堀辰雄《起风了》
本文发布于:2023-02-28 20:58:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167771191395054.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:spreadsheet(spreadsheet compare).doc
本文 PDF 下载地址:spreadsheet(spreadsheet compare).pdf
留言与评论(共有 0 条评论) |