Tag: perl

Perl使用OLE写入Excel工作表

首先感谢您阅读这个。 我有一个小脚本,收集各种txt文件,并将其放入Excel工作表,我以前使用Spreadsheet :: WriteExcel来做到这一点,并一切工作正常。 然而,当我开发的脚本,它变得更加明显,我应该使用Win :: OLE来执行此function,因为我宁愿使用模板Excel文件(与现有的公式),我可以将这些txt文件添加为工作表。 我正在努力从Spreadsheet :: WriteExcel更改为Win :: OLE与粘贴function将文本文件放入电子表格。 这里的代码确实工作(从添加txt文件@行>>>> $ wrksheet-> write_col) …… my $workbook = Spreadsheet::WriteExcel->new("resultsbook.xls"); (my $sheetname = $file) =~s/\.\w+//; my $wrksheet = $workbook->add_worksheet($sheetname); $wrksheet->write_col( 0, 0, readfile($file)); # <– Old write line } } sub readfile { my @textfilecontent = (); open my $fh, '<', shift() or die […]

如何删除vlookup函数,但保持从Perl电子表格的实用价值

我正在使用perl电子表格生成一个xl文件,它包含一个列的vlookup函数,从vlookup函数生成的值是正确的,但我想删除这个公式,只保留它的值, 这个怎么做? 我在用着 Excel 2007 SP2 Spreadsheet :: WriteExcel:2.40

Spreadsheet :: ParseExcel在PERL查询中

我正在编写一个PERL代码来从特定Excel表格的特定行中选取值。 我正在使用Spreadsheet :: ParseExcel模块来达到这个目的。 截至目前,我已经编写了这个代码 use Spreadsheet::ParseExcel::FmtDefault; use Spreadsheet::ParseExcel; my $parser = Spreadsheet::ParseExcel->new(); #my $name = <STDIN>; die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV; my $workbook = $parser->parse($ARGV[0]); my @values; if ( !defined $workbook ) { die $parser->error(), ".\n"; } for my $worksheet ( $workbook->worksheets() […]

在将parameter passing给Perl脚本的时候,并没有打开文件

这是脚本用于比较两个.csv文件,并在results.xls中写入差异 我的Perl脚本(名称:cmp.pl)是: #!C:\Perl\bin use Spreadsheet::WriteExcel; use Spreadsheet::WriteExcel::Utility; my $Wb = Spreadsheet::WriteExcel->new('results.xls'); my $s1 = $Wb->add_worksheet('res'); open(FILE1, "< ARGV[0]") || die "Cannot open $ARGV[0]\n"; open(FILE2, "< ARGV[1]") || die "Cannot open $ARGV[1]\n"; @file1 = < FILE1>; @file2 = < FILE2>; my $format = $Wb->add_format(); my $format1 = $Wb->add_format(); $format->set_bg_color('red'); $format1->set_bg_color('yellow'); for $i (0 .. $#file1) { […]

Perl写excel来创build包含各种工作表中的公式的单元格的图表

是否有可能使用perl的Excel :: Writer :: XLSX模块,并创build具有包含公式的单元格的图表? 这是我在做什么: 1)用多个工作表创build一个xlsx文件 – 没有问题 2)在一个工作表中创build图表与其他工作表中的常数值 – 没有问题 3)创build一个包含公式单元格的工作表 – 没有问题(我可以看到输出xlsx中的值) 4)试图从#3创build一个图表,尽pipe我可以看到上面提到的值,但它是空的 请帮忙!!!

如何遍历特定的列并检索特定的行 – Excel

我学会了如何通过指向特定的列来检索特定的值。 但是现在我想学习如何通过特定列循环(遍历数组),如果匹配特定variables(来自数组),它将检索特定的列并将其打印出来。 高强 Column1 Column2 Column3 Column4 Column5 Column6 1 2700K 80 NA L130-2780003000W21 T3C27821L-01BA 2 3000K 80 NA L130-3080003000W21 T3C30821L-01BA 3 3500K 80 NA L130-3580003000W21 T3C35821L-01BA 4 4000K 80 NA L130-4080003000W21 T3C40821L-01BA 5 5000K 80 NA L130-5080003000W21 T3C50821L-01BA 6 5700K 80 NA L130-5780003000W21 T3C57821L-01BA 7 6500K 80 NA L130-6580003000W21 T3C65821L-01BA 8 2200K 80 NA […]

尝试使用IIS从Perl打开Excel文件时出错

我正在运行一个Perl脚本文件从C#应用程序使用IIS,我想打开一个已经存在的Excel文件,我打开它使用下面的行: $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) or die "Oops, cannot start Excel";//upto this working fine $book = $ex->Workbooks->Open($fileName); //this line only giving error 现在我正在打开错误,如下所示: 来自“Microsoft Office Excel”的OLEexception: Microsoft Office Excel无法访问文件“C:\ GWATS \ Report \ Nov-17-2014_10-06-36 \ GES-11n_IOT_10-06-37.xls”。 有几个可能的原因: ?文件名或path不存在。 •该文件正在被另一个程序使用。 ?试图保存的工作簿与当前打开的工作簿具有相同的名称。 Win32 :: OLE(0.1711)错误0x800a03ec中的方法/ PROPERTYGET“打开”在C:\ GWATS \ Lib \ System \ Report.pm行611。 该文件肯定存在,我证实了这一点。 当我直接在cmd中运行时,这个脚本也正常工作。 这里有什么问题,我认为问题是与IIS,但我可以find究竟是什么问题?

使用Perl将csv文件转换为多选项卡xls(excel)文件

我正在使用perl模块WriteExcel来转换一个| 分隔的文本文件转换为xls文件,我正在使用下面的代码来这样做 #!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; # Create a new workbook and add a worksheet my $workbook = Spreadsheet::WriteExcel->new($filename); my $worksheet = $workbook->add_worksheet("Colorful Example"); open(FH,"<$my_path/source_file.txt") or die "Cannot open file: $!\n"; my ($x,$y) = (0,0); while (<FH>){ chomp; my @list = split /\t/,$_; foreach my $c (@list){ $worksheet->write($x, $y++, $c); } $x++; $y=0; […]

如何在不使用命令行的情况下运行Perl脚本?

我写了几个Perl脚本,可以让我更快地完成工作。 这些脚本中的每一个都使用如下命令运行: perl PerlScript.pl InFile > OutFile InFile和OutFile通常都是制表符分隔的文件,其余的工作场所只能看作Excel文件。 我的同事可以从使用这些脚本中受益,但是他们被从命令行运行程序的想法吓倒了。 有一种方法可以从一个更加用户友好的界面(如GUI)运行Perl脚本吗? 我理想的解决scheme将允许他们拖动Excel文件到一个文件夹中,并用鼠标点击一个button,这将产生一个新的Excel文件,他们可以拖回到他们需要的地方。 我对Visual Basic一无所知,除了它存在,但我有一个暗示它可能是有用的这个问题。 是否有可能在Visual Basic脚本中运行Perl脚本? 一般来说,害怕命令行和计算机科学的人能够舒适地运行Visual Basic脚本是否合理呢? 注意:我的大部分同事都使用Mac OS。 Windows特定的解决scheme将会很好,因为我们有几台Windows计算机专用于任务,无论出于何种原因,都可以在Windows操作系统上轻松完成。

CSV到XLS在Perl中的转换

我想在perl中parsing一个csv文件,并想生成一个excel工作表。 截至目前我能parsingCSV文件,并转换成xls.This代码工作正常,这是给了一些6行和3 colums按CSV。这是正确的。parsing后,我想做一些格式也。说任何具有“通过”string的行或柱应该是绿色的,然后失败,那么应该是红色的。我该怎么做,请帮助.. #!/run/pkg/TWW-perl-/5.8.8/bin/perl -w use strict; use warnings; use Spreadsheet::WriteExcel; use Text::CSV::Simple; use Spreadsheet::ParseExcel::Format my $infile = "/project/ls1socdft_nobackup/rev2.0/user/Shah- B53654/dft/dfta/perl/pattern_qa/output_0/xls_info.csv"; #usage() unless defined $infile && -f $infile; my $parser = Text::CSV::Simple->new; my @data = $parser->read_file($infile); my $headers = shift @data; my $outfile = shift || "/project/ls1socdft_nobackup/rev2.0/user/Shah-B53654/dft/dfta/perl/pattern_qa/output_0/xls_info.xls"; my $subject = shift || 'worksheet'; my $workbook = […]