如何在cakephp2中使用PhpSpreadsheet

问题描述 投票:0回答:1

我尝试了很多方法来在 CakePHP 2.x 中实现 PhpSpreadsheet,在 CakePHP 4 中它对我有用。

最后我尝试了给定链接博客中提到的事情

http://abakalidis.blogspot.com/2018/08/how-to-use-latest-phpofficespreadsheet.html

它解决了所有问题,但它生成了 Xlsx 文件。对于 XLS,它有效。

将 PHPSpreadsheet SOrce TO Vender 放入应用程序文件夹后。

我使用以下代码

<?php
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xlsx($spreadsheet);
$spreadsheet->createSheet();
$writer->save('hello world.xlsx');
?>

对于 XLS,我替换如下 3 行

<?php

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xls;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');

$writer = new Xls($spreadsheet);
$spreadsheet->createSheet();
$writer->save('hello world.xls');
?>

此代码有效,但对于 Xlsx 它给出错误

cakephp cakephp-2.0 phpexcel phpspreadsheet
1个回答
0
投票

我花了几天时间解决这个问题并找到了解决方案。 PhpSpreadsheet 与 Composer 一起安装:composer require phpoffice/phpspreadsheet 在composer.json中只需添加: “要求”: { "google/apiclient": "^2.12.1", "phpoffice/phpspreadsheet": "^1.25" }

技巧是添加 public $components = array('GoogleAPI');在控制器类的开头。然后你只需使用 \PhpOffice\PhpSpreadsheet\IOFactory 即: $objPHPExcel = \PhpOffice\PhpSpreadsheet\IOFactory::load(YOUR_FILE);

© www.soinside.com 2019 - 2024. All rights reserved.