用win32的方式 不推荐
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3; # die on errors...
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit');
my $Book = $Excel->Workbooks->Open("c:/test.xls");
my $Sheet = $Book->Worksheets(1);
foreach my $row (1..4)
{
foreach my $col (1..3)
{
# skip empty cells
next unless defined $Sheet->Cells($row,$col)->{'Value'};
printf "At ($row, $col) the value is %s \n",
$Sheet->Cells($row,$col)->{'Value'},
$Sheet->Cells($row,$col)->{'Formula'};
}
}
$Book->Close;
用 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel 模块
http://blog.csdn.net/fl49809045/archive/2010/06/01/5638396.aspx
新建excel
use strict;
use warnings;
use Encode;
use Spreadsheet::WriteExcel;
# 设置new一个对象出来,并写上需要存成什么名字的xls
my $xls = Spreadsheet::WriteExcel->new( "c:/fukaiss.xls" );
# xml的内容名字
my $xlsContent = $xls->add_worksheet( 'report' );
# 这是对格式的设置,我们可以设置一个标题的,一个内容的,
# 我现在只设置一个内容
my $contentStyle = $xls->add_format();
$contentStyle->set_size( 8 );
$contentStyle->set_bold(); #设置字体为粗体
$contentStyle->set_align( 'center' );#设置单元格居中
$contentStyle->set_text_wrap(); #是否回车换行
$contentStyle->set_color('red'); #设置单元格前景色为红色
# 写表内容(格式是使用上面添加的表格式)
# 这个中的A,B,C是设置的excel中上面行的字母
# 这个地方中的文字我用了decode这样中文才能正常显示
# 最后面的contentStyle是我上面设置的行风格
$xlsContent->write( "A1", decode( 'utf8', "name" ), $contentStyle );
$xlsContent->write( "B1", decode( 'utf8', "time" ), $contentStyle );
$xlsContent->write( "C2", decode( 'utf8', "language" ), $contentStyle );
#$xlsContent->write($row, $col, 'Hi Excel!', $format); #行,列,内容,格式
#这是关闭,上面的内容设置成循环就能生成很多行了
$xls->close();
读取excel
#!/usr/bin/perl
use Spreadsheet::Read;
use Data::Dumper;
use Smart::Comments;
my $file = 'c:/fukaiss.xls';
my $spreadsheet = ReadData( $file) or die "Cannot read file ";#指定读的文件名
my $sheet_count = $spreadsheet->[0]{sheets} or die "No sheets in $file\n"; #这个是查有几个sheet
for my $sheet_index (1 .. $sheet_count){
my $sheet = $spreadsheet->[$sheet_index] or next;
printf("%s - %2d: [%-s] %3d Cols, %5d Rows\n",
$file,$sheet_index,$sheet->{label},$sheet->{maxcol},$sheet->{maxrow});#label是sheet名
for my $row (1 .. $sheet->{maxrow}) {
print join "\t" => map {
my $data = $sheet->{cell}[$_][$row] ;
defined $data ? $data : "-";
}1 .. $sheet->{maxcol};
print "\n";
};
}
分享到:
相关推荐
"perl-site" 指的是 Perl 的模块仓库 Site CPAN ( Comprehensive Perl Archive Network ) 中的模块,这里特指与解析 Excel 文件相关的模块。Site CPAN 是 Perl 社区维护的一个额外的模块存储库,包含了不在标准 CPAN...
Perl是一种强大的脚本编程语言,尤其在文本处理和系统管理任务方面表现突出。...总的来说,使用Perl解析Excel文件是一项常见的任务,通过利用Perl的强大功能和丰富的生态系统,可以高效地完成数据提取和处理工作。
perl excel
### 使用Perl操作Excel 2007 (xlsx) 文件:详解Excel::Writer::XLSX模块 在IT领域,特别是数据分析、报表制作等场景中,能够高效地读写Excel文件是一项重要的技能。Perl作为一种功能强大的脚本语言,在处理文本和...
Perl SpreadSheet_Excel 是一个基于Perl编程语言的库,用于解析和操作Microsoft Excel电子表格文件。这个库的核心组件是 `Spreadsheet::ParseExcel` 模块,它允许开发者读取Excel文件的内容,包括单元格的数据、公式...
my $workbook = Spreadsheet::WriteExcel->new('example.xls'); my $worksheet = $workbook->add_worksheet(); $worksheet->write(0, 0, 'Hello'); $worksheet->write(1, 0, 'World'); ``` 这将创建一个名为...
`Spreadsheet::ParseXLSX`模块提供了解析Excel文件的能力。使用这个模块,你可以遍历工作表、获取单元格值、检查公式以及处理样式和日期。以下是一个基本的读取Excel文件的例子: ```perl use Spreadsheet::...
该模块提供了对 EXCEL 文件的读取和解析功能,能够读取单元格的值、样式和公式等信息。 知识点三:XML 文件生成 XML 是一种标记语言,用于存储和传输数据。Perl 可以使用 XML::Writer 模块来生成 XML 文件。该模块...
这段代码首先导入了`Spreadsheet::ParseXLSX`模块,然后创建一个解析器对象并调用`parse()`方法解析Excel文件。如果文件解析成功,它将遍历工作表中的每个单元格,并打印出它们的值。 `auto.pl`可能是一个自动化...
标题中的“excel_Perl_源码”表明我们将讨论如何使用Perl编程语言来处理Excel文件,具体来说是关于从数据文件中提取数据并将其转化为Excel表格的过程。Perl是一种强大的文本处理语言,非常适合处理各种数据格式,...
- 解析工作簿:通过`Spreadsheet::ParseExcel->parse()`函数,可以打开并解析Excel文件,返回一个Workbook对象。 - 访问工作表:使用`workheets()`方法获取Workbook中的所有工作表,然后通过`worksheet()`方法选择...
Perl脚本通过解析Verilog源代码,可以自动识别模块接口,生成相应的Testbench结构。它会为每个输入信号提供默认值或随机序列,为输出信号设置断言,以确保设计在各种条件下都能正确工作。此外,脚本可能还包含对高级...
Perl 模块 `Spreadsheet::ParseExcel` 是一个用于解析 Excel 文件的库,它允许开发者在 Perl 程序中读取和处理 Excel 工作表的数据,而无需依赖 Microsoft Office 或其他重型软件。这个模块提供了高效且灵活的方式来...
然后创建一个`Spreadsheet_Excel_Reader`实例,并调用`read()`方法来解析Excel文件。例如: ```php require_once 'Spreadsheet_Excel_Reader.php'; $reader = new Spreadsheet_Excel_Reader(); $reader->read('...
本篇文章将深入探讨如何使用开源库QXls和Perl来操作xlsx格式的Excel文件,以及相关的技术细节。 首先,QXls是Qt框架下的一个库,专门用于处理xlsx文件,无需依赖Microsoft Excel或WPS等应用。Qt是一个跨平台的应用...
这是一个运行Perl脚本的基础,因为它可以解析和执行Perl代码。 2. 引入Perl COM对象:VB可以利用Perl的COM(Component Object Model)支持来创建一个Perl解释器对象,通过这个对象,VB可以直接调用Perl脚本。在VB中...
例如,perl-5.20.0是Perl的一个版本,而libxls-0.2.0可能是与读取Excel文件相关的库,这表明你可能在处理与文件解析相关的工作。 安装和使用这些工具通常涉及以下步骤: 1. 下载源代码包,如.tar.gz文件。 2. 解压...
结合Perl的其他库,如DBI(数据库接口)或Excel::Writer::XLSX,可以将动态生成的数据可视化,形成直观的报告或分析结果。 `svg_lib`这个文件可能是包含SVG库的一些示例、测试代码或者额外的图形资源。在实际开发中...
例如,`Office::ParseXLS`模块用于解析Excel文件,而`Spreadsheet::WriteExcel`模块则可以用来创建新的Excel文件或者写入数据到已有的Excel文件中。对于Word文档,`Win32::OLE`模块允许通过COM接口与Word应用程序...
在日常开发中,Perl被用来执行各种各样的任务,包括但不限于文本解析、数据提取以及报告生成等。下面我们将详细介绍Perl中常用的文本处理方法以及一些常用的正则表达式。 #### 一、Perl文本操作 ##### 1. 字符串...