请教:程序读Excel的sheet名乱码如何解决?

salmon 2012-06-05 02:16:02
hi,现在我遇到一个问题,请大家帮下忙。

开发平台:windows XP
开发工具:strawberryperl
PERL版本:5.14.2

我写了一个批量解析excel文件的perl程序。

#test.pl
my $Format = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map => 'CP936');
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse("$bookname",$Format);

foreach my $worksheet ($workbook->worksheets()) {
my $sheetname = $worksheet->get_name();
print "sheetname=$sheetname\n";
}

直接运行该程序 perl test.pl ,程序正常打出excel文件的每个sheet名字(这里的sheet名字是中文字符)。
由于需要将该程序弄成二进制形式(不开放源码),我安装了PAR::PACKER模块,使用如下命令转换该文件:

pp -o test.exe test.pl

结果,执行生成的test.exe文件时,打出来的sheet名是乱码格式。


想请教下有没有前辈曾经做过或者留意过这方面的信息,希望不吝赐教。

或者不使用这种打包方法,用别的方法的也请您指教下。

先行谢过!
...全文
284 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧