Tag: perl

如何使用Merge_range函数使用Spreadsheet :: WriteExcel合并单元格?

我已经使用Spreadsheet :: WriteExcel创build电子表格报告。 我试图合并一些使用merge_range()函数的单元格。 $ worksheet-> merge_range(3,5,9,4,$ title,$ format); [要么] $ worksheet-> merge_range('E3:I4',$ title,$ format); $ worksheet->写( 'F6', “语言”,$格式); 它显示如下的错误信息 错误:请参阅文档中的merge_range()。 不能在未合并的单元格中使用以前的合并格式 如何解决这个问题。 如果我用write() ..那个时候只显示错误。 如果我没有使用任何写入函数的时候,上面的错误信息不显示和单元格合并。

从序列中删除给定范围的字母

FILE1 1 MSSNSDTGDLQESLKHGLTPI GAGLPDRHGSPIPARGRLVML PKVETEALGLARSH 2 MHSSNPKVRSSPSGNTQSSPK SKQEVMVRPPTVMSPSGNPQL DSKFSN 3 MNGHSDEESVRNSSGESSQSD DDSGSASGSGSGSSSGSSSDG S FILE2 1 9 24 36 40 2 1 14 19 35 3 8 37 期望的输出 文件2包含制表符分隔的数字,所有行中的每两个数字是需要从相应序列(制表符分隔文件1)中删除的字母范围。 例如对于序列1,我需要打印1到8 (不是9到24) ,25到35 (不是36到40)和41到41的结束的字母。 我的代码(不完美) #!usr/bin/perl -w use warnings; open( FH, "a.txt" ); @seq = <FH>; open( FH1, "b.txt" ); @num = <FH1>; open( OUT, ">out.txt" […]

如何使用Perl的DBI将date值从Oracle转换为Excel?

我遇到了一个非常简单的Perl过程的麻烦。 我基本上是查询一个Oracle数据库,我想把它加载到Excel中。 我已经能够使用DBIx ::转储,它的工作原理。 但是,我需要能够使用各种Excel格式化工具。 我认为Spreadsheet :: WriteExcel是输出到Excel的最好的模块,它允许我做更多的格式化。 下面是我得到的代码和错误。 我基本上查询Oracle,获取数据,加载到一个数组,并尝试写入Excel。 出于某种原因,它正在做一些比较,它不喜欢数据types。 例如,date是“25 -OCT-08”。 SVP是'S01'。 这似乎是说,他们不是数字。 错误: Argument "01-NOV-08" isn't numeric in numeric ge <>=> at C:/Perl/site/lib/Spreadsheet/WriteExcel/Worksheet.pm line 3414. Argument "01-NOV-08" isn't numeric in pack ge <>=> ge <>=> at C:/Perl/site/lib/Spreadsheet/WriteExcel/Worksheet.pm line 2157. 码: #!/usr/bin/perl -w #Set the Perl Modules use strict; use DBI; use Spreadsheet::WriteExcel; […]

如何使用perl v5.6.1安装SpreadSheet :: ParseExcel

我正在尝试在Solaris上安装SpreadSheet :: ParseExcel,但是由于此错误而失败, Perl v5.8.0要求 – 这只是v5.6.1,停在 这个模块与perl v5.6.1不兼容吗? 我尝试使用许多其他模块(SpreadSheet :: Read,SpreadSheet :: XLSX)来读取perl v5.6.1中的excel。 他们都在内部使用SpreadSheet :: ParseExcel,并最终失败。 有没有办法解决这个问题? 请帮忙。

打印数组后,不需要的空格。 我正在使用Perl

我写了一个脚本来parsinginput文本文件并输出三个新的文本文件。 input文件有一个标题行,这是三个输出文件中的每一个。 输出文件的每行获得每个input文件行的前三个条目,然后只获得input行中的一部分条目。 所有文件都是制表符分隔的。 我的问题是,我不断得到一个额外的白色空间在我的输出线的末尾。 在VIM中查看时,我可以在输出文件的行尾看到这个空格。 在Excel中查看时看不到这些额外的空格。 以前,使用我的脚本的早期版本,我可以看到我的行尾使用Excel的额外的空白,但只能通过使用“全选”function。 在excel中显示的数据是我的Perl脚本打印一个数组的结果,在那里我编码print $outfile "@array" 。 我在其他地方了解到,打字print "@array"导致了一种插入,在我的行中添加了白色空格。 这个插值产生的空白在excel中不是立即可见的,但是在使用“全选”来突出显示数据时可以看到。 所以,我从print $outfile "@array"更改了我的代码来print $outfile @array 。 此更改导致输出文件在每个输出行的末尾仍保留一个空白区域,在VIM中可见但在Excel中不可见的空白区域。 这是我卡住的地方。 以下是我的脚本。 第一部分只是打开并读取input文件。 然后声明一些数组。 接下来, for loop开始逐行parsinginput文件,并将适当的内容推送到适当的数组中。 replace是为一个数组实现的。 同样,所有文件都是制表符分隔的。 最后,数组被打印到三个outfiles,使用print $outfile @array和print $outfile "@array" 。 你看到这个问题吗? 谢谢! #!/usr/bin/perl use strict; use warnings; die "usage: [ imputed genotype.file ]\n" unless @ARGV == 1; my […]

PHP中的代码为天花板function

任何人都曾编程的PHP(或Perl)函数来获得最高限额的Excel风格?

使用perl删除工作簿的工作表

您好,我需要删除名为“摘要”,如果它存在于Excel工作簿使用Perl的工作表。 我首先parsingexcel文件的内容为: my $parser = new Spreadsheet::ParseExcel::SaveParser; my $template = $parser->Parse($FileName) or die "$!\n"; $workbook = $template->SaveAs($FileName); 现在,如果这个文件有'摘要'工作表,我需要删除它。 我不能使用Spreadsheet::SimpleExcel因为文件已经作为Spreadsheet::WriteExcel / Spreadsheet::ParseExcel对象打开,处理程序还没有closures文件。 因此,我不能创buildSpreadsheet::SimpleExcel的新对象,并指向此Excel并删除工作表。 有什么办法删除工作表。 我可以在保存工作簿之前删除工作表,如上面的代码所示。

perl5.8用ParseExcel-0.59parsingexcel文件

当我使用perl模块ParseExcel-0.59来分析在俄罗斯的Excel时,能否请你帮忙解决这个问题? 我导入可parsing俄罗斯的单元格格式的Unicode格式的CP1251,但有如下警告: 字符'c'格式包装在/usr/local/lib/perl5/site_perl/5.8.8/Spreadsheet/ParseExcel.pm 1789行。 以“c”格式包装在/usr/local/lib/perl5/site_perl/5.8.8/Spreadsheet/ParseExcel.pm 1790行。 代码是这样的: my $parser = Spreadsheet::ParseExcel->new(); my $fmt = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map => 'CP1251' ); my $wrkbooks = $parser->Parse('russia2.xls', $fmt);

读写perl中的excel文件

我是最近的Perl用户。 我需要一些关于在perl中读写文件的帮助。 让我来解释一下情况:例如,我有一个input.xls文件,其中包含string,数字,下拉列表。 表单中的某些单元格被locking。 我想从input.xls文件中读取数据,并想将其写入名为output.xls的新文件文件中。 我在这里面临的问题是我无法保留我正在阅读的文件的格式。 也就是说,生成的输出文件不会显示下拉菜单,以及在input.xls文件中locking的单元格不会显示在output.xls文件中。 其次即使在输出文件中input文件的格式化也会受到干扰。 例如,如果单元格被合并到input文件中,那么在输出文件中格式不会相同。 请指导。 这里是我的代码供您参考: #!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel::SaveParser; use CGI; use CGI::Carp qw(fatalsToBrowser); print qq[Content-type:text/html \n\n]; my $cs='Book2.xls'; # Open the template with SaveParser my $parser = new Spreadsheet::ParseExcel::SaveParser; #my $formatter=Spreadsheet::ParseExcel::FmtJapan->new(); my $template = $parser->Parse('e.xls'); my $sheet = 0; my $row = […]

使用perl编辑Excel数据透视表

我有一个Excel数据文件(xlsx)与一张数据表和一张数据透视表使用该数据。 我想写一个可以改变数据的Perl代码,然后数据透视表会根据新的数据自动改变。 我正在使用perl包: Spreadsheet::ParseExcel::Worksheet Spreadsheet::ParseExcel::SaveParser Excel::Writer::XLSX Spreadsheet::WriteExcel 我该怎么做? 我需要另一个包吗? 谢谢