PHPExcel:打印页边距和打印自动调整似乎无法正常工作

我按照这个确切的顺序一个接一个地调用这三个函数

public function setPrintFitToWidth()
{
    $this->sheet->getPageSetup()->setFitToWidth(1);    
}

public function setPrintArea($cell_area)
{
    $this->sheet->getPageSetup()->setPrintArea($cell_area); 
}

public function setPrintMargins($top, $right, $bottom, $left)
{
    $this->sheet->getPageMargins()->setTop($top);
    $this->sheet->getPageMargins()->setRight($right);
    $this->sheet->getPageMargins()->setLeft($left);
    $this->sheet->getPageMargins()->setBottom($bottom);
}

问题是,打开生成的Excel文件,我将页边距设置为’自定义’,但事实上,设置为不同的值而不是我传递给我的函数的边距.事实上,我用参数(1,0.5,0.5,1)打电话,但我得到了相同的顺序,2,0.8,0.8,2.这真的很奇怪……

另外:我无法得到setFittoWidth(1);我希望在一个页面中看到适用于所有列,但Excel告诉我它是在页面上的适应表上设置的.

我究竟做错了什么?

解决方法:

解决:

public function setPrintFitToWidth()
{
    $this->sheet->getPageSetup()->setFitToWidth(1);    
}

public function setPrintFitToWidth()
{
    $this->sheet->getPageSetup()->setFitToWidth(1);    
    $this->sheet->getPageSetup()->setFitToHeight(0);    
}

关于边缘:我尝试零和边缘被尊重,所以我得出结论,PHPExcel单位在某种程度上’缩小’…所以,经过一些’尝试’和’重做’,我发现产生正确的magins的值

上一篇:使用col&row索引的PHP Excel样式格式


下一篇:thinkphp phpexcel导出返回乱码