欢迎来到天天文库
浏览记录
ID:42871045
大小:1.29 MB
页数:20页
时间:2019-09-23
《浅谈Excel内容比较》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、宋体-11-A:Av===I5^BZ▼3労▼三-三弓壬h徒扌▼————rt【」JIFont日Alignment丘HomeInsertPageLayoutFormulasDataReviewViewDevGil▼«AABCDEFG
2、11111121111131111141111151111161111171111181111191111110111111!11112•1c3tPaste▼YClipboard日图1、l.xlsx浅谈Excel内容比较说起文件内容比较,或许我们首先想到的是UltraCompare这类专业比较
3、的软件,其功能非常强大,能够对基于文本的文件内容作出快速、准确的比较,冇详细的差异报告,非常便于分析。其实,各种版本控制软件中也包含有或多或少的比较功能,如TFS、CVS、SVN等。但是如果待比较的文件不是基丁•文本类型的,那就无能为力了。今天我就來谈一谈Excel的比较方法及其特点,也和大家共同探讨一下,如杲你有更好的方法,欢迎分享。一、Excel的文件架构Excel的文件结构,一个Excel是一个丁.作簿,其中町以包含若干个T•作表,正式山于这个架构,造成比较Excel中的内容比较困难,尤其当工作表中的数据量很人时
4、,常规的比较软件更是无能为力。二、三种比较方法下面我分别川三种方法来比较两个Excel中的内容,首先准备两个测试Excel,为了简单起见,两个Excel都只包含一个工作表,其中填充了一些数字:l.xlsx・Microsoft[gl曰…File2.xlsx・MicrosoftExceZTH刁□店®J越闔FileHomeInsertPageLayoutFormulasDataReviewViewDevelopJPaste▼宋体▼11p丄A三SPGeneral、BZU-Ibjj▼3▼A▼A^A▼••-=•-=■••卦埜%Cl
5、ipboard6FontGiAlignmentNumE17AABCDEFG11111121222223122222412222251222226122222712222281222229122222101222221122222121314图2、2.xlsx】、首先我用比较笨的方法,写一段程丿竹逐个比较单元格(假设两个Excel中包含的工作表的命名和个数完全相同):曰代码privatevoidfnExcelCompare(stringv_strSourcePathzstringv_strDestPath)this._i
6、nt内容不同单元格个数=0;this・_die内容不同.Clear();Excel.Applicationapp=newExcel.Application();app•DisplayAlerts=false;Excel・WorkbooksrcBook=app・Workbooks・Open(v_strSourcePath);Exce1・WorkbookdestBook=app.Workbooks・0pen(v_strDestPath);Filestreamlog=newFilestream(System・Windows.
7、Forms・Application.StartupPath+@LogsReportCheck.log11,FileMode.OpenOrCreate,FileAccess・ReadWrite);StreamWriterwriter=newStreamWriter(log);stringmsg=string.Empty;writer.writeLine(…*******n);foreach(Excel・WorksheetsheetinsrcBook・Worksheets){for(inti=1;i<=sheet.
8、UsedRange.Rows.Count;i++)for(intj=1;j<=sheet.UsedRange.Columns.Count;j++)stringsrc=sheet・Cells[i,j]・Value2==null?string.Empty:sheet・Cells[i,j]・Value2・ToString();stringdest=destBook.Wotksheets[shGGt.Name]・Cells[izj]・Value2==null?string.Empty:destBook.Worksheets[s
9、heet.Name].Cells[i,j].Value2.ToString();if(src!=dest)sheet・Name十”【”+tmsg=DateTime.Now・ToString()his・fnGetExcelAddress(irj)袖】单元格中的内容不相同rT;this._int内容不同单元格个数++;this._d
此文档下载收益归作者所有