加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl操作Excel文档

发布时间:2020-12-15 23:56:51 所属栏目:大数据 来源:网络整理
导读:如何通过 perl 来对Excel文件做读写操作呢?CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel两个模块。通过这两个模块,我们就可以读写和创建Excel文件了。 下面就来看看 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法。

如何通过perl来对Excel文件做读写操作呢?CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel两个模块。通过这两个模块,我们就可以读写和创建Excel文件了。
下面就来看看 Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法。

在使用这两个模块之前,首先要在服务器上安装相应的模块,可以通过PPM命令来安装,安装命令如下:

  1. ppm> install OLE::Storage_Lite
  2. ppm> install Spreadsheet::ParseExcel
  3. ppm> install Spreadsheet::WriteExcel

下面通过两个例子来看看如何对Excel文档进行操作的。
1、读取excel文件

  1. #!/usr/bin/perl -w
  2. use?strict;
  3. use?Spreadsheet:: ParseExcel;
  4. my? $parser?= Spreadsheet:: ParseExcel- > new ( );
  5. my? $workbook?=? $parser- > Parse ( 'Book1.xls' );
  6. ?
  7. for? my? $worksheet? (? $workbook- > worksheets )? {
  8. ?
  9. ? ?? my? (? $row_min,? $row_max? )?=? $worksheet- > row_range );
  10. ? ?? (? $col_min,? $col_max? )?=? $worksheet- > col_range );
  11. ? ?
  12. ? ?? my? $row? (? $row_min?..? $row_max? {
  13. ? ? ? ?? my? $col? (? $col_min?..? $col_max? {
  14. ? ? ? ?
  15. ? ? ? ?? my? $cell?=? $worksheet- > get_cell (? $row,? $col? );
  16. ? ? ? ?? next? unless? $cell;
  17. ? ? ? ?
  18. ? ? ? ?? print? "Row,Col = ($row,$col)n";
  19. ? ? ? ?? "Value = ",? $cell- > value ),? "n";
  20. ? ? ? ?? "Unformatted = ",? $cell- > unformatted "n";
  21. ? ? ? ?? }
  22. ? ?? }
  23. }

2、生成EXCEL文件

#!/usr/bin/perl -w
  • use?Spreadsheet:: WriteExcel;
  • ?
  • # 创建一个新的EXCEL文件
  • my? $workbook?= Spreadsheet:: WriteExcel- > new 'test.xls' );
  • ?
  • # 添加一个工作表
  • $worksheet?=? $workbook- > add_worksheet # 新建一个样式
  • $format?=? $workbook- > add_format );? # Add a format
  • $format- > set_bold ); #设置字体为粗体
  • $format- > set_color 'red' #设置单元格前景色为红色
  • $format- > set_align 'center' #设置单元格居中
  • ?
  • #使用行号及列号,向单元格写入一个格式化和末格式化的字符串
  • $col?=? $row?=? 0;
  • $worksheet- > write ( $row,? $col,0)">'Hi Excel!',? $format );
  • $worksheet- > write ( 1,0)">'Hi Excel!' # 使用单元格名称(例:A1),向单元格中写一个数字。
  • $worksheet- > write 'A3',? 1.2345 'A4',0)">'=SIN(PI()/4)' );
  • exit;
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读