《程序设计Csharp程序设计 (96).pdf》由会员分享,可在线阅读,更多相关《程序设计Csharp程序设计 (96).pdf(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#程序设计Programming in C#读写Excel文件1、Microsoft.Office.Interop.Excel 2、实例讲解C#程序设计程序设计1.读写Excel文件3微软提供了用以操作Office文档的库。如Microsoft Excel Object Library、Microsoft Word Object Library、Microsoft PowerPoint Object Library 等。操作Excel文档主要是通过微软公司提供的Microsoft Excel Object Library来实现的,其中11.0版本对应操作Excel 2003文档,12.0版本
2、对应操作Excel 2007文档。1.读写Excel文件4 Microsoft.Office.Interop.Excel.Application:代表整个Microsoft Excel 应用程序。重要属性Cells:返回一个Range对象,该对象表示当前激活的工作表的所有单元格。如果当前激活文档不是工作表,失效。Columns:返回一个Range对象,该对象表示当前激活的工作表的所有列。如果当前激活文档不是工作表,失效。1.读写Excel文件5Cursor:返回或设置Excel中鼠标的形状。DefaultFilePath:返回或设置Excel打开文档时的默认路径。FileDialog:返回一个
3、FileDialog对象。Name:返回当前对象的名称。Path:返当前应用的完整路径。1.读写Excel文件6Range:返回表示一个单元格或一系列单元格的Range对象。Rows:返回表示当前活动工作表中所有行的Range对象。如果当前活动文档不是工作表,则该属性失效。Sheets:返回表示当前工作薄中所有工作表的Sheets集合。ThisCell:返回用户指定的单元格。1.读写Excel文件7ThisWorkbook:返回当前正在运行宏代码的工作薄对象。Value:返回“Microsoft Excel”。Version:返回Microsoft Excel的版本号。Workbooks:返回
4、表示所有打开工作簿的Workbooks集合。Worksheets:返回表示当前活动文档中所有的工作表的Sheets集合。1.读写Excel文件8重要方法 FindFile:显示打开文件的对话框。Save:保存。Quit:退出Microsoft Excel。Undo:撤销最新的操作。1.读写Excel文件9Microsoft.Office.Interop.Excel.Workbook:表示一个Microsoft Excel的工作薄。重要属性Application:不使用对象限定符时,该属性返回表示Microsoft Excel应用的Application对象;当使用对象限定符时,返回创建者指定的
5、Application对象。Charts:只读属性,返回指定工作簿中所有图表表单的Sheets集合。1.读写Excel文件10FileFormat:返回文件格式或/和工作簿的类型。FullName:只读字符串,返回对象的含路径信息的完整名称。Name:只读字符串,返回对象的名称。Password:返回或设置打开指定工作簿的操作密码。Path:只读字符串,但会当前应用的完整路径。1.读写Excel文件11ReadOnly:只读的布尔值,描述对象是否以只读方式打开。Saved:查看工作簿是否保存。Sheets:返回表示指定工作簿中所有的表单的Sheets集合。Worksheets:返回表示指定工作
6、簿中所有工作表的Sheets集合。1.读写Excel文件12重要方法Close:关闭对象。Save:保存。SaveAs:另存。1.读写Excel文件13Microsoft.Office.Interop.Excel.Worksheet:表示一个工作表。重要属性Application:不使用对象限定符时,该属性返回表示Microsoft Excel应用的Application对象;当使用对象限定符时,返回创建者指定的Application对象。Columns:返回表示指定工作表中所有列的Range对象。1.读写Excel文件14Range:返回表示一个单元格或一系列单元格的Range对象。Rows
7、:返回表示指定工作表中所有行的Range对象。Sort:返回当前工作表中被排序的值。Type:返回或设置工作表的类型。1.读写Excel文件15重要方法Copy:在当前工作簿中拷贝表单。Delete:删除对象。Move:在当前工作簿中移动表单。Paste:将剪切板中的内容粘贴到表单中。SaveAs:另存图表或表单。1.读写Excel文件16Microsoft.Office.Interop.Excel.Range:表示一个单元格、一行、一列、包括一个或多个连续单元格的选集、或者一个三维区域。重要属性Address:返回区域引用。AllowEdit:设置当前范围是否能被编辑。Cells:返回表示指
8、定范围内所有单元格的Range对象。1.读写Excel文件17Column:返回指定范围内第一列的数目。Columns:返回表示指定范围内所有列的Range对象。Count:返回集合中对象的数目。Name:返回或设置对象的名称。Next:返回表示下一个单元格的Range对象。Range:返回表示一个单元格或系列单元格的Range对象。1.读写Excel文件18Rows:返回表示指定范围内所有行的Range对象。Value:返回或设置指定范围内的值。Value2:返回或设置单元格的值。Worksheet:返回表示包含指定范围工作表的Worksheet对象。1.读写Excel文件19重要方法Add
9、Comment:添加注释。AutoFill:完成指定范围内表格的自动填充。Copy:拷贝指定范围的内容到剪切板。Delete:删除对象。1.读写Excel文件20重要方法Find:在一个范围内查找指定信息并返回表示找到的第一个单元格的Range对象。Insert:在表单或宏表单中插入一个或一系列单元格。Merge:把指定范围内的单元格合并。211.读写Excel文件【例9.8】操作Excel文档。221.读写Excel文件例题分析具体操作步骤有:(1)新建C#的控制台应用程序;(2)右键单击“解决方案资源管理器”中的“引用”菜单,添加对Microsoft Excel Object Librar
10、y 的引用。1.读写Excel文件23例9.81 usingusing SystemSystem;2 usingusing SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 s
11、tatic voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.Application ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pa
12、thpath)1.读写Excel文件24例9.816 FileFile.DeleteDelete(pathpath););17 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)Exceld
13、ocExceldoc.SheetsSheets 1 1;21 MSEXCELMSEXCEL.RangeRange r r;22 forfor(intint i i=1 1;i i=5 5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5 5;i i+)+)28 1.读写
14、Excel文件25例9.829 r r=worksheetworksheet.get_Rangeget_Range(A(A+ConvertConvert.ToStringToString(i i););30 ConsoleConsole.WriteLineWriteLine(r r.Value2Value2););31 32 ExceldocExceldoc.SaveAsSaveAs(path,Nothing,Nothing,path,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,MSEXCELMSEXCEL.X
15、lSaveAsAccessModeXlSaveAsAccessMode.xlExclusive,Nothing,Nothing,xlExclusive,Nothing,Nothing,Nothing,Nothing,NothingNothing,Nothing,Nothing););33 ExcelAppExcelApp.QuitQuit();();34 35 36 261.读写Excel文件123451234512345例9.8 运行结果271.读写Excel文件例9.8 运行结果1.读写Excel文件28例9.81 usingusing SystemSystem;2 usingusing
16、SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 static voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.Applica
17、tion ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pathpath)1.读写Excel文件29例9.81 usingusing SystemSystem;2 usingusing
18、 SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 static voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.Applic
19、ation ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pathpath)1.读写Excel文件30例9.81 usingusing SystemSystem;2 usingusin
20、g SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 static voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.Appli
21、cation ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pathpath)1.读写Excel文件31例9.81 usingusing SystemSystem;2 usingusi
22、ng SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 static voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.Appl
23、ication ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pathpath)1.读写Excel文件32例9.81 usingusing SystemSystem;2 usingus
24、ing SystemSystem.IOIO;3 usingusing MSEXCELMSEXCEL=MicrosoftMicrosoft.OfficeOffice.InteropInterop.ExcelExcel;4 usingusing SystemSystem.ReflectionReflection;5 namespacenamespace ExcelApplicationExcelApplication6 7 classclass ProgramProgram8 9 static voidstatic void MainMain()()10 11 MSEXCELMSEXCEL.App
25、lication ExcelAppApplication ExcelApp;12 MSEXCELMSEXCEL.Workbook ExceldocWorkbook Exceldoc;13 stringstring pathpath=D:D:test.xlsx;test.xlsx;14 ExcelAppExcelApp=newnew MSEXCELMSEXCEL.ApplicationApplication();();15 ifif(FileFile.ExistsExists(pathpath)1.读写Excel文件33例9.816 FileFile.DeleteDelete(pathpath)
26、;);17 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21 MSEXCELMSEXCEL.RangeRange r
27、 r;22 forfor(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件34例9.816 FileFile.DeleteDelete(pathpath););17 18 Ob
28、ject NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21 MSEXCELMSEXCEL.RangeRange r r;22 forfo
29、r(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件35例9.8程序第18行使用 Missing 类的Value字段来表示缺少值。1.读写Excel文件36例9.816 Fil
30、eFile.DeleteDelete(pathpath););17 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21
31、 MSEXCELMSEXCEL.RangeRange r r;22 forfor(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件37例9.816 FileFile.Delet
32、eDelete(pathpath););17 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21 MSEXCELMSE
33、XCEL.RangeRange r r;22 forfor(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件38例9.816 FileFile.DeleteDelete(pat
34、hpath););17 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21 MSEXCELMSEXCEL.RangeR
35、ange r r;22 forfor(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件39例9.816 FileFile.DeleteDelete(pathpath););17
36、 18 Object NothingObject Nothing=MissingMissing.ValueValue;19 ExceldocExceldoc=ExcelAppExcelApp.WorkbooksWorkbooks.AddAdd(NothingNothing););20 MSEXCELMSEXCEL.WorksheetWorksheet worksheetworksheet=(MSEXCELMSEXCEL.WorksheetWorksheet)ExceldocExceldoc.SheetsSheets 1 1;21 MSEXCELMSEXCEL.RangeRange r r;22
37、 forfor(intint i i=1 1;i i=5=5;i i+)+)23 24 r r=worksheetworksheet.get_Rangeget_Range(A+(A+ConvertConvert.ToStringToString(i i););25 r r.Value2Value2=ConsoleConsole.ReadLineReadLine();();26 27 forfor(intint i i=1 1;i i=5=5;i i+)+)28 1.读写Excel文件40例9.829 r r=worksheetworksheet.get_Rangeget_Range(A(A+C
38、onvertConvert.ToStringToString(i i););30 ConsoleConsole.WriteLineWriteLine(r r.Value2Value2););31 32 ExceldocExceldoc.SaveAsSaveAs(path,Nothing,Nothing,path,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,MSEXCELMSEXCEL.XlSaveAsAccessModeXlSaveAsAccessMode.xlExclusive,Nothing,Nothing
39、,xlExclusive,Nothing,Nothing,Nothing,Nothing,NothingNothing,Nothing,Nothing););33 ExcelAppExcelApp.QuitQuit();();34 35 36 1.读写Excel文件41例9.829 r r=worksheetworksheet.get_Rangeget_Range(A(A+ConvertConvert.ToStringToString(i i););30 ConsoleConsole.WriteLineWriteLine(r r.Value2Value2););31 32 ExceldocEx
40、celdoc.SaveAsSaveAs(path,Nothing,Nothing,path,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,MSEXCELMSEXCEL.XlSaveAsAccessModeXlSaveAsAccessMode.xlExclusive,Nothing,Nothing,xlExclusive,Nothing,Nothing,Nothing,Nothing,NothingNothing,Nothing,Nothing););33 ExcelAppExcelApp.QuitQuit();(
41、);34 35 36 1.读写Excel文件42例9.829 r r=worksheetworksheet.get_Rangeget_Range(A(A+ConvertConvert.ToStringToString(i i););30 ConsoleConsole.WriteLineWriteLine(r r.Value2Value2););31 32 ExceldocExceldoc.SaveAsSaveAs(path,Nothing,Nothing,path,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,Nothing,MSEXCELMSEXCEL.XlSaveAsAccessModeXlSaveAsAccessMode.xlExclusive,Nothing,Nothing,xlExclusive,Nothing,Nothing,Nothing,Nothing,NothingNothing,Nothing,Nothing););33 ExcelAppExcelApp.QuitQuit();();34 35 36 结束