欢迎来到天天文库
浏览记录
ID:47873101
大小:527.66 KB
页数:16页
时间:2019-11-14
《浅谈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中的内容比较困难,尤其当工作表中的数据量很人时,常规的比较软件更是无能为力。二、三种比较方法下面我分别川三种方法来比较两个Excel中的内容,首先
4、准备两个测试Excel,为了简单起见,两个Excel都只包含一个工作表,其中填充了一些数字:l.xlsx・Microsoft[gl曰…FileZTH刁□店®J越闔2.xlsx・MicrosoftEx©Home宋体▼11▼A:s1醫1GeneralBzU▼
5、臥▼
6、▼A▼
7、唠▼_▼MBO埜%FontfaAlignmentG
8、NumInsertPageLayoutFormulasDataReviewViewDevelopiE17疋AABCDEFG11111121222223122222412222251222226122222712222281222229122222101
9、222221122222121314Paste▼3ClipboardC图2、2.xlsx】、首先我用比较笨的方法,写一段程丿竹逐个比较单元格(假设两个Excel中包含的工作表的命名和个数完全相同):曰代码privatevoidfnExcelCompare(stringv_strSourcePath,stringv_strDestPath)this._int内容不同单元格个数=0;this._die内容不同.Clear();Excel.Applicationapp=newExcel.Application();app.DisplayAlerts=false;Exce1・
10、WorkbooksrcBook=app.Workbooks・0pen{v_strSourcePath);Exce1・WorkbookdestBook=app.Workbooks・0pen(v_strDestPath);Filestreamlog=newFilestream(System.Windows.Forms・Application.StartupPath+@11LogsReportCheck・log",FileMode.OpenOrCreaterFileAccess・ReadWrite);Streamwriterwriter=newStreamwriter(
11、log);stringmsg=string.Empty;foreach(Excel・WorksheetsheetinsrcBook.Worksheets){for(inti=1;i<=sheet.UsedRange.Rows.Count;i++){for(intj=1;j<=sheet・UsedRange・Columns•Count;j++){stringsrc=sheet・Cells[i#j]・Value2==null?string.Empty:sheet・Cells[itj]・Value2・ToString();stringdest=destBook・Worksh
12、eets[sheet・Name]・Cells[i,j]・Value2==null?string.Empty:destBook.Worksheets[sheet・Name]・Cells[1,j].Value2.ToString();if(src!=dest){msg=DateTime.Now.ToString()+11”+sheet・Name+H[11+this.fnGetExcelAddress(irj)+11】单元格中的内容不相同,f;this._int内容不同单元格个数++;this._die内容不同.Add(this._int内容不同单元格
此文档下载收益归作者所有