首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHPExcel自动调整列宽

PHPExcel自动调整列宽
EN

Stack Overflow用户
提问于 2013-05-27 01:34:00
回答 17查看 235.6K关注 0票数 120

我正在尝试自动调整工作表中列的大小。我正在编写文件,最后尝试调整所有列的大小。

代码语言:javascript
运行
复制
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('B1', 'test1111111111111111111111')
            ->setCellValue('C1', 'test1111111111111')
            ->setCellValue('D1', 'test1111111')
            ->setCellValue('E1', 'test11111')
            ->setCellValue('F1', 'test1')
            ->setCellValue('G1', 'test1');

foreach($objPHPExcel->getActiveSheet()->getColumnDimension() as $col) {
    $col->setAutoSize(true);
}
$objPHPExcel->getActiveSheet()->calculateColumnWidths();

上面的代码不起作用。不更改列大小以适合文本

更新我正在使用$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');的编写器

EN

Stack Overflow用户

发布于 2017-11-05 02:17:57

以防有人在找这个。

下面的解决方案也适用于他们的新版本PHPExcel - PHPSpreadsheet

代码语言:javascript
运行
复制
// assuming $spreadsheet is instance of PhpOffice\PhpSpreadsheet\Spreadsheet
// assuming $worksheet = $spreadsheet->getActiveSheet();
foreach(range('A',$worksheet->getHighestColumn()) as $column) {
    $spreadsheet->getColumnDimension($column)->setAutoSize(true);
}

注意:可以用getHighestDataColumn()或最后一个实际列替换getHighestColumn()

这些方法的作用:

getHighestColumn($row = null) -获取最高的工作表列。

getHighestDataColumn($row = null) -获取包含数据的最高工作表列。

getHighestRow($column = null) -获取最高的工作表行

getHighestDataRow($column = null) -获取包含数据的最高工作表行。

票数 3
EN
查看全部 17 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16761897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档