Tag: perl

从XML文件中提取标签信息到Excel文件

我有近100个标签中包含各种存储过程名称的XML文件。 每个文件可能包含多个SP或相同的重复。 <DataSourceName>SQL300</DataSourceName> <CommandType>StoredProcedure</CommandType> <CommandText>dbDummy.dbo.abc456Audit </CommandText> 我接pipe了一个项目,将SQL服务器数据迁移到SAS网格,并将所有SSRS报告迁移到SAS。 我将不得不映射所有的数据。 有没有简单的Linux / Perl / VBA / Python的方式来做到这一步? 我想要这样的东西: File Name Stored Procedures Audit93 dbDummy.dbo.abc456Audit Audit93 dbDummy.dbo.abc123Audit 我试过:grep,sed,awk,perl,VBA。 这里和其他地方描述的方法。 我可以将所有的标签信息提取到一个平面文件中,但没有接近我在上面寻找的东西。 我需要一些技巧来提取文件名和标签。 如果有人能够阐明如何解决这个问题,我将不胜感激。 谢谢!

预测Excel如何使用Postgres函数来解释一个string

在我的工作场所,我们有部分编号(项目编号),在Excel中input时常常被转换成Excel 认为用户的含义。 例如,Excel进行这些更改: 00001234 => 1234 005678.0 => 5678 1234.560 => 1234.56 由于电子表格来自我们控制之外的来源,因此我们无法尝试控制Excel本身的行为。 我有一个实用工具,它使用VSTO(C#)连接到Excel,然后输出到Postgres表,并尝试查找“Excel零件号”并将其转换回实际零件编号。 简而言之,它看起来像这样: create table mdm.excel_lookup ( actual_part_number text not null, excel_part_number text not null, lookup_priority integer not null, constraint excel_lookup_pk primary key (actual_part_number) ); 为了填充这个表格,我写了一个使用plperl的函数,试图获取任何给定的string,并预测Excel如何解决这个问题。 我相信我已经处理了带有前导零的数字,还有在小数点后被切掉的零。 不幸的是这并不包括所有的东西 我不认为date是可以预料的,所以我甚至不会去尝试,除非有人有一个好主意。 但是科学记数法呢? 有没有其他的情况我没有想到? 我们的零件目录有超过150万个零件,所以可能发生的事情有很多种可能性。 如果我能抓住相当比例的话,我会很开心。 到目前为止,这是我的function。 如果有人对我能做些什么来获得Excel可能做的其他事情有所了解,我会欢迎反馈意见。 注意到目前为止,只处理上面列出的场景。 CREATE OR REPLACE FUNCTION excel_part(part_number text) RETURNS […]

如何使用Perl和Excel OLE将工作表复制到新的或现有的工作簿?

我已经尝试使用下面的Perl代码,但工作表不会复制(也不会移动),也不会返回错误消息。 预先感谢您的想法。 #!/usr/bin/perl -w use strict; use warnings; use OLE; use Win32::OLE::Const 'Microsoft Excel'; my $Excel = CreateObject OLE "Excel.Application"; my $Book2 = $Excel->Workbooks->Add(); my $Book3 = $Excel->Workbooks->Open("C:\\temp\\test.xlsm"); my $Sheet3 = $Book3->Worksheets(1); $Sheet3->Select; $Sheet3->Move("Before" => $Book2->Worksheets(1)); $Book3->Close(0); $Book2->SaveAs({Filename =>"C:\\temp\\new.xlsm",FileFormat => xlOpenXMLWorkbookMacroEnabled}); $Book2->Close(); $Excel -> Quit();

我怎样才能提取一个特定的表,并在Perl中从MS Word复制到Excel?

我有一个MS Word 2003文件,其中包含几个表格,我想提取一个特定的表格内容。 例如,表格将在某些部分下面,我想提取表6的内容 ,而不是其他表格的内容 ,我想将这些内容复制到新格式的Excel表格中。 第4节 表数据 表数据 表数据 第5节 表数据 表数据 表数据 第6节 表格数据#表格数据将被提取并导入新的Excel表格 表格数据#表格数据将被提取并导入新的Excel表格 表格数据#表格数据将被提取并导入新的Excel表格 第7节 表数据 表数据 表数据

Excel :: Writer :: XLSX :: Chart :: Line – 问题

有没有办法使图表中的线条(最大温度和最小温度)之间的间隔着色? #!/usr/local/bin/perl use warnings; use 5.014; use utf8; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'spreadsheet.xlsx' ) or die $!; my $worksheet = $workbook->add_worksheet( 'One' ); my $ref = [ [ 'Day', 'Max. Temp.', 'Min. Temp' ], [ 1, -3.1, -6.4 ], [ 2, -2.3, -7.2 ], [ 3, -4.7, -6.8 ], [ 4, -3.1, -9.5 […]

如何使用ODBC连接Perl与Excel文件(* .xlsx或* .xls)?

我被要求考虑使用ODBC作为数据库驱动程序,以便能够在Excel工作簿上使用SQL。 我曾经见过一些使用OLE作为驱动程序的人,但是我所见过的唯一的ODBC演练是关于连接到MSSQL Server或MySQL。 我已经确认,我有ODBC设置,下面是我有可用的ODBC驱动程序。 任何人都可以谈到连接到XLS文件? 可用驱动程序 DBI Drivers: Chart, DBM, ExampleP, File, ODBC, Oracle, Proxy, SQLite, SQLite2, Sponge, mysql ODBC Drivers: DBI:ODBC:MS Access Database DBI:ODBC:Excel Files DBI:ODBC:dBASE Files DBI:ODBC:Visio Database Samples DBI:ODBC:Xtreme Sample Database 2003 DBI:ODBC:Xtreme Sample Database 2008 在test.pl里面 my $dbh = DBI->connect('DBI:ODBC:Driver{Excel Files}MyExcelFile');

为什么perl保存两份Excel电子表格?

这与保存后在“我的文档”中创buildExcel Addin的副本类似,只不过我正在使用Perl而不是VBA,而使用xls文件而不使用xlsm,并且行为的负面影响是不同的。 我已经inheritance了作为SYSTEM在Windows 2003 Server上运行的Perl脚本(Perl 5.8.8)。 将Excel 2003模板文件复制到唯一的完全定义的path位置后,它将使用OLE在Excel中打开唯一文件,编辑文件,保存文件并closures文件。 编辑文件的结果是保存在正确的,完全定义的path位置以及默认用户configuration文件的“文档”文件夹中。 这导致数以千计的这些文件积累在C:驱动器上,因为每个要雇用的新pipe理员都会在他的“文档”文件夹中获取副本。 添加设置$ OUT的值的代码: if (!$db->Sql("EXEC GetDetails 'name'")) { while ($db->FetchRow()>0) { @DataIn = $db->Data(); $name = $DataIn[0]; $IN = $DataIn[1]; $OUT = $DataIn[2]; opendir(DIR,"$OUT") || die "$OUT directory does not exist $!\n"; #… loop of proprietary code #… @Completed = $db1->Data(); #… &formatExcelReport #The code that […]

Perl(或Python)和Excel有没有一种方法可以确定单元格中多行文本中使用的字体types?

我有数据来作为一个Excel文件,其中一些单元格包含string,其中包含以删除线字符表示的以前版本的数据。 我知道如何使用Perl和OLE来parsing/操作Excel文件,但我只能看到文本格式在单元级别上可访问。 有没有一种方法来访问字符的基础上的格式? 我们的目标是find并消除所有格式为删除线的文本。

如何在公式栏中将excel单元格值显示为“1/1/1901”,并使用perl在相应的单元格中显示为“1901-01-01”

我们需要生成excel文件,单元格值应该在公式栏中以mm / dd / yyyy格式(1/1/1901)显示,并显示为yyyy-mm-dd格式(1901-01-01 )在相应的单元格中。 有人可以帮助如何使用Perl来实现这一点,请参考下面的屏幕截图,这将显示我们如何需要。 我们正在使用模块Excel :: Writer :: XLSX,我们已经尝试了下面的代码,但它在公式栏和单元格中都显示相同的格式。 if ($cell =~ qr[^(\d{4})/(\d{1,2})/(\d{1,2})$]) { my $format1 = $workbook->add_format(num_format => 'yyyy-mm-dd'); my $date = sprintf "%02d/%02d/%04d", $2, $3, $1; $worksheet->write_date_time( $iR, $iC, ${date}, $format1); } 屏幕截图

为什么在Perl的Spreadsheet :: WriteExcel模块中使用repeat_formula时,我的2D范围不会被3D范围所取代?

我需要通过Perl脚本创build一个dynamic的Excel公式。 我存储一个包含假范围的公式 my $stored_formula = $worksheet->store_formula('=MEDIAN(A1:A2)'); 在脚本中,我计算了新的范围 $formula_range = $mm_arr[$mmindx-1] . "!" . num2col(2+$form_off) . ((($serv-1)*5)+5) . ":" . num2col((2+31+$form_off)) . ((($serv-1)*5)+5); 其中@mm_arr是一个数组("Jan", "Feb", &hellip;)而num2col是我用来将列号转换为字母的函数。 下面一行是repeat_formula $worksheet->repeat_formula( (($serv-1)*5)+4, 1+$mmindx, $stored_formula, undef, 'A1:A2', $formula_range ); 我期望得到: =median(Feb!K3:AH3) 但是我得到: =median(K3:AH3) 所以发现/replace是不知何故的工作,但我不能确定如何! 我究竟做错了什么?