我正在使用上一个PHPExcel版本(我认为是7.7)。我能够生成我的excel。我必须用tcpdf生成pdf版本,这里别无选择。
但结果是丑陋和超大。
请参阅2012-000012的巨大字体大小,excel中为11。
正如您所看到的,这里有2个问题。文件尺寸过大,边框很糟糕。
为了摆脱超大的一面,我尝试了这个:
$this->printer->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
而且:
$this->printer->getActiveSheet()->getPageSetup()->setScale(50);
比例设置为50,但不影响输出。那我怎么能摆脱这两个问题呢?
这是我的excel How to set auto-line break PhpExcel?的屏幕。
更新:
通过将cellspacing设置为0,边界几乎按预期处理,仍然是一个问题,可能是由于超大问题引起的。
见:
是否有opion或方法调用将其设置为0?
这取决于writer \ html.php第915行,因为我不显示网格线。
答案 0 :(得分:3)
要删除您发现令人反感的边框,请在每张要在pdf中呈现的工作表上关闭网格线。
例如: $ objPHPExcel-> getActiveSheet() - > - > setShowGridlines(假);
答案 1 :(得分:0)
解决这个问题我做了两个操作。
第一步是设置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生成的丑陋边框以及文件末尾的另一行......