PHP SpreadSheet 找不到自动调整列宽大小的函数

Thu*_*Boy 2 php phpexcel phpspreadsheet

我只是想让列自动调整大小。我正在使用 php 电子表格,但找不到如何操作。我已经搜索了其他问题,但他们正在使用我无法在我的 lib worksheet.php 中找到的函数,例如getActiveSheet()任何建议?这是我的代码

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Projects First Year');
$sheet->setCellValue('B1', 'Grades');

$sheet->setCellValue('A2', 'PHP Project 2020');
$sheet->setCellValue('B2', $_SESSION['phpScore']);
Run Code Online (Sandbox Code Playgroud)

小智 36

不要使用范围()。当单元格超出 Z 时它将不起作用。请改用

foreach ($sheet->getColumnIterator() as $column) {
   $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true);
}
Run Code Online (Sandbox Code Playgroud)


Thu*_*Boy 6

对于电子表格,答案是:

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;

  foreach (range('A','B') as $col) {
   $sheet->getColumnDimension($col)->setAutoSize(true);
}
Run Code Online (Sandbox Code Playgroud)


Wes*_*Wes 5

稍作修改,不需要您知道电子表格中有多少列:

foreach (range('A', $sheet->getHighestColumn()) as $col) {
   $sheet->getColumnDimension($col)->setAutoSize(true);
}
Run Code Online (Sandbox Code Playgroud)