2

我正在使用最后一个 PHPExcel 版本(我认为是 7.7)。我能够生成我的excel。我必须用tcpdf生成pdf版本,这里没有选择。

但结果是丑陋的和过大的。

在此处输入图像描述

请参阅 2012-000012 的巨大字体大小,在 excel 中为 11。

如您所见,这里有两个问题。文件过大,边框很烂。

为了摆脱过大的一面,我尝试了这个:

$this->printer->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);    

和这个 :

 $this->printer->getActiveSheet()->getPageSetup()->setScale(50);

比例设置为 50,但不影响输出。那么我怎样才能摆脱这两个问题呢?

这是一个屏幕,我的 excel如何设置自动换行符 PhpExcel?.

更新 :

通过将单元格间距设置为 0 边界几乎可以按预期处理,仍然是一个小问题,可能是由过大的问题引起的。

看 :

在此处输入图像描述

是否有选项或方法调用将其设置为 0 ?

这位于 writer\html.php 第 915 行,因为我不显示网格线。

4

2 回答 2

3

要删除您认为令人反感的边框,请关闭要在 pdf 中呈现的每张纸上的网格线。

例如:$objPHPExcel->getActiveSheet()->->setShowGridlines(false);

于 2017-02-05T03:08:28.170 回答
1

为了解决这个问题,我做了两个操作。

第一步是为 PHPexcel 对象设置方向

$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);

第二步 - 为 PHPExcel 对象设置不同的纸张大小:

$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A2_PAPER);

然后将 PHPExcel 对象转换为对象编写器

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');

$objWriter->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);

$objWriter->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A2_PAPER);

这对我有用。我还更改了 PHPExcel 对象内的字体大小 - 就像标题一样

$objPHPExcel->setActiveSheetIndex($lastsheet)->getStyle("A1:K3")->applyFromArray(
         array(
            'font'  => array(
                'size'  => 8
            )
         )
        );

对于其余数据:

$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial')->setSize(8);

现在我试图获得 tcPDF 生成的丑陋边框和文件末尾的另一行......

于 2016-05-24T09:31:55.810 回答