免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1557 | 回复: 2
打印 上一主题 下一主题

关于excel操作的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-28 07:49 |只看该作者 |倒序浏览
现在我有一些excel文件,每个文件中大概有100+表格。
现在欧要把依次以4个sheet为单位,复制出来,放到一个新建立的新文件中。
比如:excel.xls中有100张sheet,
1-4张sheet放到C:/excel/excel-1.xls中
4-8张sheet放到C:/excel/excel-2.xls中
。。。。。。。
96-98sheet放到excel-24.xls中
偶听说win32::OLE能够完整这个任务,但是自己花了一个晚上还没搞定,偶正在继续研究。
boss要求偶10点交货,希望各位xdjm给点帮助
-------------希望仙子MM在线哇, ^_^

论坛徽章:
0
2 [报告]
发表于 2006-09-28 16:47 |只看该作者

回复 1楼 duanwenhui 的帖子

Hallo,
see CPAN module => Spreadsheet::ParseExcel - Get information from Excel file

论坛徽章:
0
3 [报告]
发表于 2006-09-29 14:39 |只看该作者
#!/usr/bin/perl -w
use strict;
use Spreadsheet:arseExcel;
use Spreadsheet:arseExcel::FmtUnicode;
my $oExcel = new Spreadsheet:arseExcel;
die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;

#set for charactor
my $oFmtC = Spreadsheet:arseExcel::FmtUnicode->new(Unicode_Map=>"CP936";

my $oBook = $oExcel->arse($ARGV[0],$oFmtC);
my($iR, $iC, $oWkS, $oWkC);
print "FILE  :", $oBook->{File} , "\n";
print "COUNT :", $oBook->{SheetCount} , "\n";
print "AUTHOR:", $oBook->{Author} , "\n"
if defined $oBook->{Author};
for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++)
{
$oWkS = $oBook->{Worksheet}[$iSheet];
print "--------- SHEET:", $oWkS->{Name}, "\n";
for(my $iR = $oWkS->{MinRow} ;
     defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ;
     $iR++)
{
  for(my $iC = $oWkS->{MinCol} ;
      defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ;
      $iC++)
  {
   $oWkC = $oWkS->{Cells}[$iR][$iC];
   print "( $iR , $iC ) =>", $oWkC->Value, "\n" if($oWkC);
  }
}
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP