浅谈Excel内容比较费下载_第1页
浅谈Excel内容比较费下载_第2页
浅谈Excel内容比较费下载_第3页
浅谈Excel内容比较费下载_第4页
浅谈Excel内容比较费下载_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宋体-11- a: av=i 5b z3労三-三弓壬h徒扌rt【jifont日alignment丘homeinsert page layout formulas data review view devgil«aabcdefg |11111121111131111141111151111161111171111181111191111110111111!111121 c3tpaste yclipboard 日图 1、l.xlsx浅谈excel内容比较说起文件内容比较,或许我们首先想到的是ultracompare这类专业比较的软件,其功能非常强大,能够 对基于文本的文件内容作出快速、准

2、确的比较,冇详细的差异报告,非常便于分析。其实,各种版本控制 软件中也包含有或多或少的比较功能,如tfs、cvs、svn等。但是如果待比较的文件不是基丁文本类型 的,那就无能为力了。今天我就來谈一谈excel的比较方法及其特点,也和大家共同探讨一下,如杲你有 更好的方法,欢迎分享。一、excel的文件架构excel的文件结构,一个excel是一个丁.作簿,其中町以包含若干个t作表,正式山于这个架构,造成比较excel中的内容比较困难,尤其当工作表中的数据量很人时,常规的比较软件更是无能为力。二、三种比较方法下面我分别川三种方法来比较两个excel中的内容,首先准备两个测试excel,为了简单起

3、见,两个excel 都只包含一个工作表,其中填充了一些数字:l.xlsx microsoftgl曰filezth刁店®j越闔2.xlsx microsoft ex©home宋体 11 a:s1醫1generalb z u | 臥 | a | 唠_ mbo埜fontfaalignmentg |numinsert page layout formulas data review view developie17疋aabcdefg1111112122222312222241222225122222612222271222228122222912222210122222112222

4、2121314paste3clipboard c图 2、2.xlsx】、首先我用比较笨的方法,写一段程丿竹 逐个比较单元格(假设两个excel中包含的工作表的命名和个数完全相同):曰代码private void fnexcelcompare(string v_strsourcepath, string v_strdestpath)this ._int内容不同单元格个数=0 ;this ._die 内容不同.clear ();excel.application app = new excel.application();app.displayalerts = false;exce1workboo

5、k srcbook = app.workbooks0penv_strsourcepath);exce1workbook destbook = app.workbooks0pen(v_strdestpath);filestream log = new filestream(system.windows.formsapplication.startuppath + 11 logsreportcheck log", filemode.openorcreater fileaccess readwrite);streamwriter writer = new streamwriter(log)

6、;string msg = string.empty;foreach (excelworksheet sheet in srcbook.worksheets)for (int i = 1; i <= sheet.usedrange.rows.count; i+)for (int j = 1; j <= sheet usedrange columnscount; j+ + )string src = sheetcells i# jvalue2 = null ? string.empty : sheetcells it jvalue2 tostring();string dest =

7、destbookworksheetssheetnamecellsi, jvalue2 = null ? string.empty : destbook.worksheetssheetnamecells1, j.value2.tostring();if (src != dest)msg = datetime .now.tostring () + 11” + sheet name + h 11 + this. fngetexceladdress (i r j ) + 11 】单元格中的内容不相同n,f ; this._int内容不同单元格个数+;this ._die内容不同.add (this._

8、int内容不同单元格个数,msg);writer writeline(msg);writer writeline(n*srcbook.save();destbook save();app.quit();system.runtime interopservices marshal releasecomobj ect(app);system runtime interopservices marshal releasecomobj ect(srcbook);system runtime interopservices.marshal releasecomobj ect(destbook); app

9、 = null;srcbook = null;destbook = null;gccollect();2、使jij openxmlsdk2.0前而的文章讲过openxmlsdk及其相关工具的简单用法,其实还可以用它來比较excel,当然,仅限于 比较 excel 2007. excel 2010 o如果你还没冇安装openxml sdk 2.0,可以在这里下载。下载完毕,一步步安装结束后,就可以使用了。1)打开 productivity tool:2)对这个工具做一些简单配置:町以选择显示行号、忽略命名空间、忽略声明:validate options ignore xml已spaceignor

10、e xml dedaration选择待比较的excel版木,我使川的excel 20 10,故选择第二个:dk zo productivity tool for microsoft officesettings helpfont.compare options mpare files.妙validate 立鸟 vafidate options against microsoft office 2007 formats7 against microsoft office 2010 formats3)点击【compare files】,然后选择两个待比较的excel文件,点击ok:4)可以看到ex

11、cel被分拆成了一个个pam 标记为绿色的表示内容中有不同:file actions gettings help1 eopen file.reflect code ddcompare files.狰validate 丘document explorer«file comparisonxs l.xlsxview part diff i view package code!日/docprops/app.xml1 vl cy+1 <> ap:properties (properties)/docprops/core.xml/_rel5/.rels/xls/worldxx)k.x

12、ml /xl/styles.xml/docprops/app.xml0/xl/theme/themel.xml/docprops/corexmls/xl/ worksheets/ sheetl .xml/xl/_rels/workbook.xmlrelss/xl/sharedstri nas.xmls <> x:workbook (workbook)/xl/sharedstringsxml/xl/stylesxml/xl/theme/themelxml/xl/workbookxml/xl/worksheets/_厂els/sheetl.xmlrels/xl/worksheets/s

13、heetlxml/xl/printersettings/printersettingslbin5)选择一个标记为绿色的part,点击【view par diff,可以查看貝体的明细:file actions $ttings help_/open file._ ' reflect code ddcompare files. validatedocument explorerh l.xlsxb /docprops/app.xml田 <> ap:properties (properties)/docprops/core.xmlb /xl/woricbook.xmlfile com

14、parison x田see田j /xl/styles.xmlj /xl/theme/themel.xml j /xl/worksheets/sheet 1 .xml j /xl/sha red strings.xml<> x:workbook (workbook)j document explorer为 open xml sdk documentation25</v>2526</c>2627<c r=mdlf, >2728<v >1282912930</v>i3031</c>3132<c r=,elu &

15、gt;3233<v >333413435</v>3536</c>3637</row>3738<row r=u2u spans=ml:5mxl4ac: dydescent二"3839<c r=ha2,* >3940<v >404114142</v>4243</c>4344<c r=mb2,* >4445<v >454614647</v>4748</c>4849<c r=,ic2,i >4950<v >5051151

16、52</v>5253</c>5354<c r=,id2,i >5455<v >555615657</v>, *5741»"i这个界面与传统的比较软件中的界面非常相似,可以很容易的看出不同之处。这种方法的缺点是比较结果不够氏观,难以获取比较的汇总结果,当数据量很大时更是如此。3、使用 spreadshcomparesprcadshcomparc是国外人写的一个vba插件,开源免费,可以在sourccforgc上下载,最新版木是1.15, 支持excel 2003, excel 2007,目前还不支持excel 201

17、0 x64o由于我使用的是excel 2010 x64,故暂时 在虚拟机中进行测试。我使川的 hypev,安装了 windows server 2003 r2, office 2007。1)下载完毕安装后,在excel的【加载项】中可以看到一个天平的小图标:q hyper-v windows server 2003 r2 sp2 on localhost - virtual machine connectionfile action media clipboard view help| 0 ® © | ii lb | 鬲 microsoft exce开始 插入页面布局公式麴

18、g审阅 视圏加载项office assistanceadd-ins 1画菜单命令目$31具栏f10123456789101112131415a1111111111b11111111112)先打开两个待比较的excel: lxlsx. 2.xlsx,然斤分别选择两个待比较的excel,点击【next】:select the two spreadsheets to be compared.first/before: 1 jx|sx3second/afte门 i 2.xlsxwarning: this program will modify the workbooks selected above.

19、 please create copies for this change compare. do not use originals!saved sessions | del sessioncheck for updatesload session: | prevj0usr sync scrolling of worksheets (excel 2003 only) (future)excel version detected: excel 12.0 (2007)help3)选择逐单元格比较,保持人小写敏感,其他选项默认:spreadsheet compareprocessing optio

20、nscompare typeq cell by cell compare start row:| |end row (0 for all):mark mismatches0 add change column to show:迥住卫芭虫阴q/fpel腔巴9厂 count of mismatched cells厂 database style compare primary key column: or select by range: |q eye-catchers (a for each mismatch)» delete change column (only if there

21、was one from a previous compare)疋 case sensitive comparison¥ highlight changes with: highlight worksheet tabs (excel 2002 on)0 clear existing sheet/tab cobur® 呼也巳helpcancel<< backnext >>compare4)分別选择待比较的工作衣,点击next:i select worksheets from first workbook.ignore these worksheets.

22、helpcancelcompare these worksheets.sheet 1select worksheets from first workbook<< backnext >>compare5)选择比较所有的区域,点击next:6)选择生成汇总表选项,保持默认即町:7)设置工作表的顺序,然后点击compare:spreadsheet coapareorder worksheets for comparison (future)sheet1sheet 1fove sheets that are to be compared so that they are si

23、de by sidefinal options厂 stop on any miscompare 厂 stop on non-blankmiscompare in column:nsave sessionsave sessionsave session as: | previoussave workbook names8)首先会给;il一个简矩的汇总信息:9)点击【确定】后会生成两个工作簿,一个记录所有不同之处,另一个给出单元格对比分析:|c() © o id ip i ifebookl -microsoft excel开始»akffl布局公式审阅视图加载项office as

24、sistaneefile action media clipboard view help隽贴板丘粘贴 jii =1渺彳音常规ief|pa a雯v=-=-=字体刈齐力式数字_1comparing:2c:documents and settingsadministratorel. xlsx sheet 13c:documents and settingsadministratore2. xlsxesheetl45cell referenceitem/rowcolumnfirst valuesecond valuefirst linksecond l6$b$111121 _7$c$11112 1 8$d$11112 1 hll10_$11$0$3$14$15$16$17$18$19$20$*1$3 $. e122222333 气.丿 气.丿 气.丿 气.丿 气.丿 气.丿 气.丿 气.丿 k dtm rftm dtm dlh dtm -i- dih dtm dtm fbcdefbcd1 1 12 123 $d$4file action media clipboard view help1 vs 2.:插入页面布局公式 数扬 审阅 视图 力駕al10)同时对源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论