Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置Excel工作表';s来自Perl的自定义页面大小(不是可打印区域)_Perl_Excel_Spreadsheet - Fatal编程技术网

设置Excel工作表';s来自Perl的自定义页面大小(不是可打印区域)

设置Excel工作表';s来自Perl的自定义页面大小(不是可打印区域),perl,excel,spreadsheet,Perl,Excel,Spreadsheet,长话短说,我真正想做的就是把我的报告打印在半张纸上。我让Kinko将一包打印纸切成两半,如果Excel报告的纸张大小设置为8.5英寸x 5.64英寸,我的激光打印机非常乐意将它们吸进去并正确打印报告 这可以在Excel中轻松完成,但这是唯一的调整,在我的项目中,我无法使用Perl实现自动化。CPAN文档指出,您可以从Excel通常提供的一些默认尺寸中进行选择,但没有提供指定您自己的图纸尺寸的选项 即使您事先在Excel中建立了所需的自定义尺寸,使其在未来的电子表格中可用,作为可选的纸张尺寸之一,

长话短说,我真正想做的就是把我的报告打印在半张纸上。我让Kinko将一包打印纸切成两半,如果Excel报告的纸张大小设置为8.5英寸x 5.64英寸,我的激光打印机非常乐意将它们吸进去并正确打印报告

这可以在Excel中轻松完成,但这是唯一的调整,在我的项目中,我无法使用Perl实现自动化。CPAN文档指出,您可以从Excel通常提供的一些默认尺寸中进行选择,但没有提供指定您自己的图纸尺寸的选项

即使您事先在Excel中建立了所需的自定义尺寸,使其在未来的电子表格中可用,作为可选的纸张尺寸之一,似乎也没有一个索引(使用)来指定新建立的自定义尺寸

提前谢谢你

    #!/usr/local/gnu/bin/perl --
    use strict;
    use warnings;
    use Spreadsheet::WriteExcel;

    my $repWB = Spreadsheet::WriteExcel->new('../tmp/test.xls');
    my $repWS = $repWB->add_worksheet('AA');

    $repWS->set_paper(1);

由于VBScript可以以本机方式完成许多这类工作,因此您可以尝试使用将必要的VBScript嵌入到主Perl脚本中


您可以通过记录设置打印大小的Excel宏来确定所需的VBScript。然后将代码嵌入主Perl脚本。

我是电子表格::writeExcel的作者

据我所知,Excel中没有设置自定义纸张大小的选项。这通常是在打印机中设置的(如果我错了,请纠正我)

Excel可以将打印机信息与工作簿数据一起存储,因此可能存在一种解决方法

你能给我发一份只有A1单元格数据的单页工作簿和一份自定义页面集的副本吗?我会看看是否可行


另外,横向模式下的可用选项B5(索引13)相当接近:8.27“x5.83”。或未登记的“组织者L”(索引129),其大小应为半个字母:8.5英寸x 5.5英寸

哦,很有趣。我来试试,让你知道!谢谢。找到一个似乎有VBScript解决方法的线程:我已将您要求的信息发送给您的jmcnamara@cpan.org上周。我不知道你是否收到了。非常感谢。查德,我发了回复(我会再发一次)。基本上,没有任何简单的方法可以做到这一点。好吧,我真的很感谢你的尝试!