`
deepfuture
  • 浏览: 4428976 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80295
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70786
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103947
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:287426
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15120
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68280
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32529
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46244
社区版块
存档分类
最新评论

关于perl处理excel-中文编码

阅读更多

上次写了处理excle的一个很简单的程序,但是是那个只适合对方英文和数字的很快,当碰到了中文后就会变的力不从心了了,所以我将程序进行了改动,使得可以识别中文.当我们在处理很多xls表的时候,特别是数据汇总,你要将所有的数据全部汇总在一起并且导成txt的格式,利于做其他的事情,这个时候就需要下列的程序了:

  需要安装的模块:

 IO::stringy ;

 IO::scalar ;

 Spreadsheet::Read .

#!/usr/bin/perl
use File::Find;
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtUnicode;
my $oExcel = new Spreadsheet::ParseExcel;

open IN,'>>E:/wangli.txt'  or die "$!";  #将数据导到这个文件中,追加的形式

sub print_path       #创建子程序,用于抓取所以 为 .xls的文件名(绝对路径)
{
 my $file = $_;
 if ( $file =~ /\.xls$/ )
 {
  $lpath = $File::Find::name;
  push( @lpath, $lpath );

 }
}
find( \&print_path, "E:/" );   #对指定的目录进行查询,比如 E盘
  foreach my $path (@lpath)  {

#die "You must provide a filename to $0 to be parsed as an Excel file" unless @ARGV;

#set for charactor
my $oFmtC = Spreadsheet::ParseExcel::FmtUnicode->new(Unicode_Map=>"CP936");  #进行字符编码指定,中文就不会是乱码了。。。

my $oBook = $oExcel->Parse($path,$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 IN $oWkC->Value, "\t" if($oWkC);

  }
    print  IN "\n"
}
}

}

close IN;

大致就是这样的,数据出来以后,数据的格式就是以制表符分割的txt 文件的了,哈哈,简单吧

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hendyyou/archive/2009/11/08/4787523.aspx

分享到:
评论

相关推荐

    java调用perl脚本并压缩zip

    这个教程就是关于如何使用Java调用Perl脚本来生成Excel文件,然后将生成的文件压缩为ZIP格式,同时解决可能出现的乱码问题。这里我们将深入探讨这两个关键步骤。 首先,让我们来看看Java调用Perl脚本的部分。在Java...

    coding-challenge-pragmatic-institute-:编码挑战-数据孵化器

    【编码挑战-数据孵化器】是面向开发者和数据科学爱好者的一项实践性学习项目,旨在通过实际的编程任务来提升对Python编程以及数据处理的理解和技能。这个挑战可能涉及到使用Python进行数据清洗、分析、可视化和建模...

    常用Python爬虫库汇总.pdf

    - **chardet**: 自动检测字符编码。 - **xpinyin**: 汉字转拼音库。 - **awesome-slugify/python-slugify/unicode-slugify**: 生成slug(URL友好的字符串)的库。 - **pytils**: 处理俄语字符串的工具,包括...

    handle_table_pl.rar_Table

    7. **模块使用**:Perl有一个庞大的模块生态系统,如`DBI`用于数据库操作,`Spreadsheet::ParseXLSX`或`Excel::Writer::XLSX`用于处理Excel文件。`Text::Table`模块则用于创建和格式化文本表格。 8. **最佳实践**:...

    基于PHP的中文搜索工具源码.zip

    因此,这个项目可能包含对中文字符串的预处理算法,如全角半角转换、UTF-8编码处理,以及对中文词汇的拆解和匹配策略。 【标签】"php"进一步确认了这个项目的开发语言是PHP,这意味着源代码将使用PHP语法,包括函数...

    文件下载及web文件的contentType类型大全

    ### 文件下载及Web文件的ContentType类型详解 在Web开发中,处理文件下载是常见的需求之一。...本文将详细介绍如何实现文件下载功能...此外,还需注意编码问题,例如中文文件名的乱码问题,这同样会影响用户的下载体验。

    2021-2022计算机二级等级考试试题及答案No.18173.docx

    - Unicode编码用于支持更广泛的字符集,通常使用16位或更高,但本题中提到的是ASCII字符集。 3. **结论**:正确答案是A. 8。 #### 数组排序 1. **问题描述**:给定整型数组`int[] x = {12, 35, 8, 7, 2};`,调用...

    matlab说话代码-utl_download_2015_ACS_5yr_zipcode_level_american_community_s

    5yr邮政编码级别的美国社区调查人口统计信息。 关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala Perl CC#...

    作品集:我的各种编码项目和针对计算机科学IT课程的书面作业

    文件夹我的编码项目示例和计算机科学/ IT课程的书面作业。 我叫John Kucera。 我是就读于​​马里兰大学全球校园的计算机科学专业和网络安全专业。 我的预期毕业日期是2022年5月。我目前的GPA是4.0。技术技能和能力...

    SendMail.rar

    在实际操作中,邮件分析可能涉及到编程语言(如Python、Perl)、数据分析工具(如Excel、Pandas)以及专门的邮件分析软件。如果你正在处理"SendMail.rar",你可能需要了解这些工具和技术,以便有效地解析和理解邮件...

    数据分析师面试试题汇总.docx

    - **知识点**: Excel数据处理能力 - **详细说明**: Excel虽不擅长复杂的数据分析任务,但可以借助插件实现简单的统计建模,如逻辑回归。具体步骤包括数据准备、公式输入等。 #### 30. 代码与算法优化 - **知识点**:...

    程序员能力评估矩阵.pdf

    7. **数据库知识**:文档中提到了SQL语言、对象关系映射(ORM)、Excel,以及数据库的ACID特性(原子性、一致性、隔离性、持久性),这些都是评估程序员在数据库设计、操作以及数据处理方面的能力。 8. **软件开发...

    Web设计师的50个超便利工具.pdf

    18. HiFi RegExp Tool / Tableizer: 这些工具可能用于处理正则表达式(RegExp)和将Excel表格转换为HTML代码。 19. Then: Easy Email Reminder: 这是一个电子邮件提醒服务,可能用于安排和发送后续邮件提醒。 20. ...

    NTKO文档在线编辑控件4.0.1.2

    NTKO OFFICE文档控件能够在浏览器窗口中直接编辑Word,Excel,Wps等Office文档并保存到任意Web服务器。实现文档和电子表格的统一管理。同时支持强制痕迹保留,手写签名,电子印章,版本控制,附件上传等办公自动化系统...

    网管教程 从入门到精通软件篇.txt

    BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音捆绑文件(一种MIDI...

Global site tag (gtag.js) - Google Analytics