phpexcel 冻结行和列

新手上路,请多包涵

我正在尝试使用 PHPExcel 冻结工作表中的第一行和前 3 列。

我可以毫无问题地冻结该行:

 $objPHPExcel->getActiveSheet()->freezePane('A2');

或者我可以毫无问题地冻结列:

 $objPHPExcel->getActiveSheet()->freezePane('D1');

但是当我尝试同时使用两者时,第一个被第二个覆盖。

有没有办法在同一张纸上同时使用两者?

谢谢。

原文由 CMR 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 578
2 个回答

我假设您正在尝试同时冻结列和行。

freezePane 显然会覆盖您可能已为其提供的所有先前参数。

根据您当前的情况,我看到您正在尝试冻结 顶行 和最 左边的 3 列

尝试这个:

 $objPHPExcel->getActiveSheet()->freezePane('D2');

这将冻结 第 1 行A、B 和 C 列

这应该可以完成您的工作!

注意: freezePane 您在 MS Excel 中的使用方式完全相同。您选择一个单元格并选择冻结。它会冻结其上方的所有行以及留给它的列。

原文由 Tzar 发布,翻译遵循 CC BY-SA 3.0 许可协议

// Use this
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// Now,
$spreadsheet    = new Spreadsheet();

// Freeze Rows Above (A3)
$spreadsheet->getActiveSheet()->freezePane('A3');

// Set Worksheet Name
$spreadsheet->getActiveSheet()->setTitle($subject);

我在我的 Laravel 项目中使用这个。

对于作曲家,您可以使用它。

 composer require phpoffice/phpspreadsheet 1.10

原文由 Chandan Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏