Perl读写中文xls格式表格的简明步骤.docx

上传人:小飞机 文档编号:3163370 上传时间:2023-03-11 格式:DOCX 页数:5 大小:37.66KB
返回 下载 相关 举报
Perl读写中文xls格式表格的简明步骤.docx_第1页
第1页 / 共5页
Perl读写中文xls格式表格的简明步骤.docx_第2页
第2页 / 共5页
Perl读写中文xls格式表格的简明步骤.docx_第3页
第3页 / 共5页
Perl读写中文xls格式表格的简明步骤.docx_第4页
第4页 / 共5页
Perl读写中文xls格式表格的简明步骤.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Perl读写中文xls格式表格的简明步骤.docx》由会员分享,可在线阅读,更多相关《Perl读写中文xls格式表格的简明步骤.docx(5页珍藏版)》请在三一办公上搜索。

1、Perl读写中文xls格式表格的简明步骤Perl读写中文xls格式表格的简明步骤 1、perl用spreadsheet-parseexcel模块读取中文xls格式表格 *基于windows系统 条件1:已经安装Spreadsheet:ParseExcel模块; 条件2:已经安装Encode模块; 条件3:代码的文本编辑器为Ansi字符编码。 步骤1:定义Spreadsheet:ParseExcel模块新方法$parser,例如:my $parser = Spreadsheet:ParseExcel - new; 步骤2:$parser读取表格文件$workbook,例如:my $workboo

2、k = $parser - parse(文件名.xls); 步骤3:$workbook读取表格里子表$worksheet ,例如:my $worksheet = $workbook - worksheet; 步骤4:$worksheet处理子表里数据,例如: my $worksheet_name = $worksheet - get_name;取子表名; my ($row_min,$row_max) = $worksheet - row_range;取子表行数; my ($col_min,$col_max) = $worksheet - col_range;取子表列数; my $cell =

3、$worksheet - get_cell($row,$col);取子表行列数对应单元格里的值。 注:my $name = $worksheet - get_name;从表格中取到的中文编译器不识别,直接在屏幕输出为乱码,通过my $Chinese = encode(CP936,$name);将$name中文化,这时用print输出$Chinese则可以正常显示。 相关代码: #!usr/bin/perl -w use strict; use Spreadsheet:ParseExcel; use Encode; my $parser = Spreadsheet:ParseExcel - ne

4、w; my $workbook = $parser - parse(文件名.xls); if(!defined $workbook) die $parser - error , .n; #取文件名 my $excel_name = $workbook - get_filename; print $excel_name , n; #数子表个数 my $excel_num = $workbook - worksheet_count; print $excel_num , n; #取第一个子表的名字 my $worksheet = $workbook - worksheet(0); my $work

5、sheet_name = encode(CP936,$worksheet - get_name); print $worksheet_name , n; my ($row_min,$row_max) = $worksheet - row_range; my ($col_min,$col_max) = $worksheet - col_range; for my $row($row_min.$row_max) for my $col($col_min.$col_max) my $cell = $worksheet - get_cell($row,$col); next unless $cell;

6、 my $string = encode(CP936,$cell - value); print $string , n; 2、perl用spreadsheet-writeexcel模块写入中文xls格式表格 *基于windows系统 条件1:已经安装Spreadsheet:WriteExcel模块; 条件2:已经安装Encode模块; 条件3:代码的文本编辑器为Ansi字符编码。 步骤1:制定Spreadsheet:WriteExcel模块要写入文件的$workbook方法,例如:my $workbook = Spreadsheet:WriteExcel - new(perl.xls); 可

7、选步骤:$workbook创建写入文件的格式$format,可以是单元格字体类型、大小和颜色等等,例如:$format = $workbook - add_format; $format - set_bold;#单元格字体加粗 $format - set_bg_color(red);#单元格为红色背景 $format - set_align(center);#单元格内容居中 $date_format = $workbook - add_format(num_format = mm/dd/yy);#单元格日期格式 步骤2:$workbook创建子表$worksheet ,例如,my $works

8、heet = $workbook - add_worksheet(“子表名”); 步骤3:$worksheet写入单元格,例如: $worksheet - write($row,$col,Hi Excel!,$format);#按行列和格式,一格一格的写入表格 $worksheet - write($row,$col,decode(CP936,中文);#将中文一格一格的写入表格 $worksheet - write_row($row,$col,array);#从$row行$col列开始写入数组,按行一格写数组的一个元素 $worksheet - write_col($row,$col,arra

9、y);#从$row行$col列开始写入数组,按列一格写数组的一个元素 注: array = decode(CP936,array);会将数组里的每个元素都进行编码转换,但是将会输出一个字符串作为array的第一个元素,也就是说无论之前array里存了多少个元素,最后都只有一个经过编码转换的字符串。 相关代码: #!usr/bin/perl -w use Spreadsheet:WriteExcel; use Encode; #创建工作薄 my $workbook = Spreadsheet:WriteExcel - new(perl.xls); #创建写入格式 $format = $workb

10、ook - add_format; $format - set_bold; $format - set_bg_color(red); $format - set_align(center); #$date_format = $workbook - add_format(num_format = mm/dd/yy); #创建工作表 $worksheet = $workbook - add_worksheet(“worksheet_name”); #写入xls文件 $chinese = “中文”; $array00 = hang-1-lie-1; $array01 = hang-1-lie-2; $array10 = hang-2-lie-1; $array11 = hang-2-lie-2; $worksheet - write(0,1,Hi Excel!,$format); $worksheet - write(0,2,decode(CP936,$chinese); $worksheet - write_row(0,3,array); $worksheet - write_col(3,3,array); #关闭工作薄 $workbook - close;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号