我需要一些关于PHPEXCEL中的纸张大小的帮助
我正在使用PHPExcel 1.8
我想知道该怎么做
如果我重定向到 printBigPaper.php ,它将呈现带有20英寸x 25英寸打印区域的excel文件(让我们命名为:MY_CUSTOM_BIG_PAPER)
和
如果我重定向到 printSmallPaper.php ,它将使用3英寸和3英寸打印区域(MY_CUSTOM_SMALL_PAPER)呈现excel文件**。
这就是我需要做的所有清单。
如果我手动使用Excel,我可以简单地在一生中定义一次新的纸张尺寸 然后在我生成excel文件后,打开它,然后选择纸张大小。
但我想用PHPExcel自动完成。
我发现的是:
我查看了“Classes / PHPExcel / Worksheet / PageSetup.php”中的代码 我发现PHPExcel的66张DEFINED PAPER SIZE
我的大部分内容尚未在我的Excel中定义。
我尝试使用编号37打印,即PAPERSIZE_MONARCH_ENVELOPE 并且它很有效,尽管我的Excel中没有这种纸张尺寸。
这让我想到, 如果PHPExcel可以制作66 CONST PAPER SIZE并且我的excel明白这一点,我也可以定义新的PAPER SIZE。所以我把CONST MY_CUSTOM_BIG_PAPER作为67号。
然后我尝试setPaperSize(PHPExcel_Worksheet_PageSetup :: MY_CUSTOM_BIG_PAPER)并且它没有给出任何错误。
但我不知道在哪里覆盖代码,以便PHPEXCEL可以理解,如果我选择MY_CUSTOM_BIG_PAPER,它将产生20英寸对25英寸的打印区域
谢谢你们,我真的希望你们能帮我解决这个问题。答案 0 :(得分:0)
没有内置机制允许您从自己的代码中定义新的纸张大小....如果要添加新的纸张大小,则需要更改PHPExcel代码的相关部分({{ 1}});但是您还需要修改底层的Reader / Writer代码来处理自定义纸张尺寸。
请注意,PHPExcel中已定义的66种不同纸张尺寸中的许多都不会在您的MS Excel版本中定义,因为许多是特定于区域设置的