【问题标题】:PHPExcel setWidth();PHPExcel setWidth();
【发布时间】:2017-05-02 14:25:59
【问题描述】:

您好,我正在使用 PhpExcel 和 Symfony2,在 HTML 表格中显示 excel 文件。

我的控制器:

    $filterSubset = new \PHPExcel_Reader_DefaultReadFilter('A','N');
    $objReader = \PHPExcel_IOFactory::createReaderForFile($excel[0]);
    $objReader->setReadFilter($filterSubset);
    $objPHPExcel = $objReader->load($excel[0]);
    $writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, "HTML");
    $writer->generateStyles();
    $writer->generateSheetData();

    return $this->render('MonextPerfclientBundle:Default:testexcel.html.twig', array(
        'excelHtml'=>$writer,
        'stylesExcel'=>$writer,

我的 ReadFilter 类:

class PHPExcel_Reader_DefaultReadFilter implements PHPExcel_Reader_IReadFilter
{

   public function __construct($fromColumn, $toColumn) {
       $this->columns = array();
       $toColumn++;
       while ($fromColumn !== $toColumn) {
           $this->columns[] = $fromColumn++;
       }
   }

public function readCell($column, $row, $worksheetName = '') {
    // Read columns from 'A' to 'N'
    if (in_array($column, $this->columns)) {
        return true;
    }
    return false;
}
}

如何设置“E”列的宽度?

仍然显示空白列..不知道为什么..

为什么列的宽度总是不同的?

感谢@MarkBaker

【问题讨论】:

    标签: symfony width phpexcel


    【解决方案1】:
    1. 要管理列单元格的宽度,您应该在控制器中设置宽度。

      .

      $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(40);
      
    2. 仍然显示空白列:您应该管理来自 writer 的空列

    3. 列的宽度取决于第一行中包含的数据的长度。

    【讨论】:

    • 如何管理作者的空栏?我不明白
    • 最大宽度是多少?如果我尝试 setWidth(100); 它不会改变任何东西例如..
    • 请问这行代码应该放在哪里? @MohamedBenHENDA
    • @Simon Delaunay 在你的控制器中 " $writer = \PHPExcel_IOFactory::createWriter($objPHPExcel, "HTML"); "
    猜你喜欢
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    相关资源
    最近更新 更多