perl - 从 Perl 设置 Excel 工作表的自定义页面大小(不是可打印区域)

标签 perl excel spreadsheet

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

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

即使您事先在 Excel 中建立了所需的自定义尺寸,使其在 future 的电子表格中可用,作为您可选择的纸张尺寸之一,似乎没有索引,使用 set_paper($index) ,这将指定新建立的自定义大小。

先感谢您!

    #!/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 可以在本地完成许多这些事情,也许您可​​以尝试使用 Inline:WSC 将必要的 VBScript 嵌入到您的主 Perl 脚本中。 .

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

关于perl - 从 Perl 设置 Excel 工作表的自定义页面大小(不是可打印区域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655880/

相关文章:

vba - 使用 Excel VBA 时应用程序定义或对象定义的错误

vba - 用于将 Excel 文档导出为 PDF 供所有用户使用的宏

Perl - 从父类(super class)(OO)调用子类构造函数

Perl sub 未导出到模块

c++ - 如何将 perl + cpp 转换为独立应用程序

sql - 使用excel连接远程sql数据库

ruby - Perl 和 Ruby 模块在同一个存储库中?

excel - 按月在美国所有州的 Excel 中获得最高排名的最简单方法?

linux - 尝试在 Linux 上使用 Perl 读取 pdf、解析数据并将所需数据写入电子表格

.net - 如何指定正确的列?