我按照这个确切的顺序一个接一个地调用这三个函数
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的值