C#前期绑定和后期绑定操作Excel-------实现简单打印功能
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                C#前期绑定和后期绑定操作Excel-------实现简单打印功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            1,前期綁定 
                        
                        
                        前期綁定需要引用Microsoft.Office.Interop.Excel.dll,代碼有提示功能,編寫方便,且代碼量小。但是和具體的office版本密切相關,不同版本的Excel可能會出現不兼容。
using System; using System.Collections.Generic; using System.Text; using Excel = Microsoft.Office.Interop.Excel; namespace ExcelCsharpTest { class ExcelPrintNomal { public void PrintOut(string excelFileName) { object Missing = System.Reflection.Missing.Value; Excel.Application objExcel = null; Excel.Workbooks objWorkbooks = null; Excel.Workbook objWorkbook = null; Excel.Worksheet objWorkSheet = null; try { objExcel = new Microsoft.Office.Interop.Excel.Application(); } catch { throw new Exception("沒有安裝Microsoft Office Excel。"); } if (!System.IO.File.Exists(excelFileName)) { throw new Exception("Excle文件不存在。"); } try { objExcel.DisplayAlerts = false; objExcel.WindowState = Microsoft.Office.Interop.Excel.XlWindowState.xlMinimized; objExcel.Visible = false; objWorkbooks = objExcel.Workbooks; objWorkbook = objExcel.Workbooks.Open(excelFileName, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing); objWorkSheet = (Excel.Worksheet)objWorkbook.Worksheets[1]; SetValue(objWorkSheet, 1, 1, "Cell_11"); SetValue(objWorkSheet, 1, 2, "Cell_12"); SetValue(objWorkSheet, 1, 3, "Cell_13"); objWorkSheet.PrintOut(Missing, Missing, 1, Missing, Missing, Missing, true, Missing); } catch (Exception ex) { throw ex; } finally { ReleaseComObj(objWorkSheet); if (objWorkbook != null) { objWorkbook.Close(false, Missing, Missing); ReleaseComObj(objWorkbook); } if (objWorkbooks != null) { objWorkbooks.Close(); ReleaseComObj(objWorkbooks); } if (objExcel != null) { objExcel.Quit(); ReleaseComObj(objExcel); } System.GC.Collect(); } } public void SetValue(Excel.Worksheet sheet, int row, int col, object value) { object cell; Excel.Range range; cell = sheet.Cells[row, col]; range = sheet.get_Range(cell, cell); range.Value2 = value; ReleaseComObj(cell); ReleaseComObj(range); } public void ReleaseComObj(object objCom) { if (objCom != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom); objCom = null; } } } }
 2,后期綁定
后期綁定,利用反射實現。不需引用dll,也和機器上安裝的office版本無關,excel2003,excel2007都能正常運行。靈活性很強,但是可以看出代碼不夠方便,編寫量也比前期綁定稍大。
 調用代碼:
 ?
轉載于:https://www.cnblogs.com/xiashengwang/archive/2011/09/06/2578802.html
總結
以上是生活随笔為你收集整理的C#前期绑定和后期绑定操作Excel-------实现简单打印功能的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: OpenBoard的板级支持包(BSP)
- 下一篇: 【博客话题】感谢您,我的老师
