`
java-mans
  • 浏览: 11460562 次
文章分类
社区版块
存档分类
最新评论

另外一篇操作excel的参考

 
阅读更多

1, 和上次那边基本差不多,只不过是个实用的工具,多了些文件操作,模式匹配等,备份供参考

2, 如何打开VBA帮助,office2007里面

新建或打开已有OFFICE文档

ALT+F11
此時出現VBA編程介面,
幫助菜單

打开EXCEL,工具栏中选宏,单击visual basic编辑器,出现了Microsoft visual basic,在其工具栏帮助中找Microsoft visual basic帮助.

#Auther: lancer
#Data: 2009.11.02
#Function: Get name of all muscic from GDD file and process it, then write to another excel file, to be used by code
#Version: 1.00

#Modified
#Version: 1.01 12/17/2009 -- Remove existed files and create a new excel file;

#!usr/bin/perl
use strict;
use warnings;
use Win32::OLE; #import win32 OLE package

my $dir = 'C://iphonegame//ParadiseQuest//iphone//trunk//doc//Production//'; #create two EXCEL files under this dir
my $src_name = $dir."Paradise Quest IPhone GDD"."/.xlsx"; #file to be read and processed
my $dst_name = $dir."test"."/.xlsx"; #file to be written
my $src_sheet_name = 'Sound and iTunes Access'; #sheet number in the source xls
my $dst_sheet_name = 'sheet1'; #sheet number in the destination xls
my $nowstr;
my $sound_name;
my $bgm_count = 0;
my $se_count = 0;
my $align_space = ' ';

print "By lancer/n";
#new a EXCEL application object, then we can operate to excel file
my $app_xls = Win32::OLE->new('Excel.Application', sub{$_[0]->Quit})
or die"Can't install Excel01!";

#open a EXCEL file, 'True' means read only
my $src_book = $app_xls->WorkBooks->Open($src_name, 0, 'True');
my $src_sheet = $src_book->Worksheets($src_sheet_name); #selete a worksheet

unlink $dst_name;
#while(<STDIN>){
#
#}
print("delete primal file/n");

#open(OUTFILE, ">$dst_name")||die "Open file [$dst_name] error!";
#close(OUTFILE); #close excel file handle
##while(<STDIN>){
##
##}
#print("open file/n");
#
#while(<STDIN>){
#
#}
my $dst_book = $app_xls->WorkBooks->Add();

print("create new file/n");
#$dst_book->SaveAs($dst_name);
my $dst_sheet = $dst_book->Worksheets(1);
$app_xls->{DisplayAlerts} = 'False'; #close the alert of excel, such as change or save

for (my $i = 1; $i < 200; $i++) {
$nowstr = $src_sheet->Cells($i,'D')->{Value}; #get data from a cell
if($nowstr){
if($nowstr eq 'bgm'){
$sound_name = $src_sheet->Cells($i,'C')->{Value}; #get data from a cell
process_bgm_name($sound_name);
}elsif($nowstr eq 'se'){
$sound_name = $src_sheet->Cells($i,'C')->{Value}; #get data from a cell
process_se_name($sound_name);
}
}
}

#$dst_book->Save; #save the change to destination xls
$dst_book->SaveAs($dst_name);
print("Finish process, file saved. Press Enter to quit!/n");
$app_xls->{DisplayAlerts} = 'True'; #restore the alert of excel

undef $src_book;
undef $dst_book;
undef $app_xls; #close the opend excel application

my $a;
$a = <>;


sub process_bgm_name{
++$bgm_count;
my $bgm_str = $_[0];

#process enum value
my $enum_str = uc($bgm_str);
$enum_str =~ s//)?.(WAV|M4A)//;
$enum_str =~ s// /(|[() -]/_/g;
if($bgm_count==1){ #first enum
$enum_str .= ' = 0';
}
$enum_str = $align_space . 'MUSIC_BGM_' . $enum_str . ',';


#process char array value
my $char_str = $bgm_str;
$char_str =~ s/.wav/.m4a/;
$char_str = $align_space . '"' . $char_str . '",';

print "$enum_str/n";
print "$char_str/n";
$dst_sheet->Cells($bgm_count,'A')->{Value} = $enum_str; #write a data to a cell
$dst_sheet->Cells($bgm_count,'B')->{Value} = $char_str;
}

sub process_se_name{
++$se_count;
my $se_str = $_[0];

#process enum value
my $enum_str = uc($se_str);
$enum_str =~ s//)?.WAV//;
$enum_str =~ s// /(|[() -]/_/g;
if($se_count==1){ #first enum
$enum_str .= ' = 0';
}
$enum_str =$align_space . 'SOUND_SE_' . $enum_str . ',';

#process char array value
my $char_str = $se_str;
$char_str = $align_space . '"' . $char_str . '",';
print "$enum_str/n";
print "$char_str/n";
$dst_sheet->Cells($se_count,'C')->{Value} = $enum_str; #write a data to a cell
$dst_sheet->Cells($se_count,'D')->{Value} = $char_str;
}

分享到:
评论

相关推荐

    VC操作EXCEL文章VC操作EXCEL文章

    VC操作EXCEL文章VC操作EXCEL文章VC操作EXCEL文章

    MFC 操作excel的一些参考资料

    MFC 操作excel的一些参考资料,自己收集的一些,可以参考看一看

    C# 操作Excel写数据生成图表

    C#的,winform的,这是我自己写的一个c#操作excel的例子,其中包括数据操作,字体,格式,单元格等操作,还有一个生成柱状图的方法,所有的方法都在ExcelHelper.cs类里,点击Form1窗体里的按钮可以看到各种操作的...

    C#操作Excel的几种方法

    C#操作Excel的几种方法

    C++操作Excel

    C++操作Excel

    VB 操作EXCEL 例子

    VB操作EXCEL VB操作EXCEL VB操作EXCEL VB操作EXCEL

    Excel函数高级篇+Excel操作使用技巧大全

    Excel函数高级篇+Excel操作使用技巧大全,包含100个函数及操作快捷方式

    ExcelVBA操作MySQL

    1. ExcelVBA操作MySQL之一——准备工作 2. ExcelVBA操作MySQL之二——链接MySQL 3. ExcelVBA操作MySQL之三——有关用户名和密码的操作 4. ExcelVBA操作MySQL之四——创建数据库和表 5. ExcelVBA操作MySQL之五——...

    VS使用MFC操作EXCEL,新建编辑保存等操作

    VS使用MFC操作EXCEL,新建编辑保存等操作,VS使用MFC操作EXCEL,新建编辑保存等操作,VS使用MFC操作EXCEL,新建编辑保存等操作

    C#对excel的操作C#对excel的操作

    C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作C#对excel的操作

    C#对Excel的读写操作

    最近帮人写了个简单的户籍管理系统。现有数据全部在Excel文件中...另外,如果不太清楚你需要的操作所对应的方法和属性,可以在office组件中开启宏录制,进行测试操作后,再编辑宏,就能在宏代码中找到自己需要的内容。

    lua 操作excel 表格

    lua 操作excel 表格,读出来生成xml或者其他。供你参考,原创分高,希望能帮到你。 本案例是用来做多国语,请自己放入excel表格,点批处理执行(可以自己修改)。

    C++通过COM操作Excel实例

    一个C++通过COM操作Excel的实例,包括EXCEL服务器的初始化,打开,填写,保存,关闭

    Java 操作Excel和Word的所有资料

    Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word的所有资料Java 操作Excel和Word...

    java操作excel表格的工具类库

    通过java操作excel表格的工具类库 用法简介 ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们...

    Excel2003到Excel2007的命令参考

    本资源为PDF文档,详细介绍了excel2003到excel2007的大多操作指南,可以说是全部,以表格的形式罗列出来,很直观,简单明了已于初学者参照使用excel用于办公或各自所需。

    使用BasicExcel来操作excel的读写例子

    使用BasicExcel来操作excel的例子,很简单的读写功能,有需要的可以参考一下

    C# 操作Excel案例

    C# 操作Excel案例,没事,帮同事做的一个小程序,这个小程序对Excel编程特别有帮助

    NPOI读取Excel,并添加操作Excel增加一列

    NPOI读取Excel,并添加一列“导入情况”,对导入情况保存到Excel中。

    Excel VBA参考手册CHM

    EXCEL VBA手册很全面,非常的实用哦

Global site tag (gtag.js) - Google Analytics