成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

概述C#向Excel插入數據

開發 后端
本文介紹實現C#向Excel插入數據的方法,但各有不同的用處?,F將這2種方法共享出來, 希望需要的朋友進行參考,代碼中已經有詳細注釋了。

這幾天做C#向Excel插入數據,其中有插入圖片的需求,經試驗,下面2種方法都可以實現C#向Excel插入數據,但各有不同的用處?,F將這2種方法共享出來, 希望需要的朋友進行參考,代碼中已經有詳細注釋了。

注意:使用之前需要引用COM:Microsoft Office 11.0 Object Library
如果引用列表中沒有,需要自行添加 C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE

調用方法:

  1. MengXianhui.Utility.ExcelReport.InsertPictureToExcelipt=
    newMengXianhui.Utility.ExcelReport.InsertPictureToExcel();  
  2. ipt.Open();  
  3. ipt.InsertPicture("B2",@"C:\Excellogo.gif");  
  4. ipt.InsertPicture("B8",@"C:\Excellogo.gif",120,80);  
  5. ipt.SaveFile(@"C:\ExcelTest.xls");  
  6. ipt.Dispose(); 

簡單包裝的類:

  1. usingSystem;  
  2. usingSystem.Windows.Forms;  
  3. usingExcel=Microsoft.Office.Interop.Excel;  
  4.  
  5. namespaceMengXianhui.Utility.ExcelReport  
  6. {  
  7. classInsertPictureToExcel  
  8. {  
  9. ///<summary> 
  10. ///打開沒有模板的操作。  
  11. ///</summary> 
  12. publicvoidOpen()  
  13. {  
  14. this.Open(String.Empty);  
  15. }  
  16.  
  17. ///<summary> 
  18. ///功能:實現Excel應用程序的打開  
  19. ///</summary> 
  20. ///<paramnameparamname="TemplateFilePath">模板文件物理路徑</param> 
  21. publicvoidOpen(stringTemplateFilePath)  
  22. {  
  23. //打開對象  
  24. m_objExcel=newExcel.Application();  
  25. m_objExcel.Visible=false;  
  26. m_objExcel.DisplayAlerts=false;  
  27.  
  28. if(m_objExcel.Version!="11.0")  
  29. {  
  30. MessageBox.Show("您的Excel版本不是11.0(Office2003),操作可能會出現問題。");  
  31. m_objExcel.Quit();  
  32. return;  
  33. }  
  34.  
  35. m_objBooks=(Excel.Workbooks)m_objExcel.Workbooks;  
  36. if(TemplateFilePath.Equals(String.Empty))  
  37. {  
  38. m_objBook=(Excel._Workbook)(m_objBooks.Add(m_objOpt));  
  39. }  
  40. else  
  41. {  
  42. m_objBook=m_objBooks.Open
    (TemplateFilePath,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,
    m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt);  
  43. }  
  44. m_objSheets=(Excel.Sheets)m_objBook.Worksheets;  
  45. m_objSheet=(Excel._Worksheet)(m_objSheets.get_Item(1));  
  46. m_objExcel.WorkbookBeforeClose+=newExcel.
    AppEvents_WorkbookBeforeCloseEventHandler(m_objExcel_WorkbookBeforeClose);  
  47. }  
  48.  
  49. privatevoidm_objExcel_WorkbookBeforeClose(Excel.Workbookm_objBooks,refbool_Cancel)  
  50. {  
  51. MessageBox.Show("保存完畢!");  
  52. }  
  53.  
  54. ///<summary> 
  55. ///將圖片插入到指定的單元格位置。  
  56. ///注意:圖片必須是絕對物理路徑  
  57. ///</summary> 
  58. ///<paramnameparamname="RangeName">單元格名稱,例如:B4</param> 
  59. ///<paramnameparamname="PicturePath">要插入圖片的絕對路徑。</param> 
  60. publicvoidInsertPicture(stringRangeName,stringPicturePath)  
  61. {  
  62. m_objRange=m_objSheet.get_Range(RangeName,m_objOpt);  
  63. m_objRange.Select();  
  64. Excel.Picturespics=(Excel.Pictures)m_objSheet.Pictures(m_objOpt);  
  65. pics.Insert(PicturePath,m_objOpt);  
  66. }  
  67.  
  68. ///<summary> 
  69. ///將圖片插入到指定的單元格位置,并設置圖片的寬度和高度。  
  70. ///注意:圖片必須是絕對物理路徑  
  71. ///</summary> 
  72. ///<paramnameparamname="RangeName">單元格名稱,例如:B4</param> 
  73. ///<paramnameparamname="PicturePath">要插入圖片的絕對路徑。</param> 
  74. ///<paramnameparamname="PictuteWidth">插入后,圖片在Excel中顯示的寬度。</param> 
  75. ///<paramnameparamname="PictureHeight">插入后,圖片在Excel中顯示的高度。</param> 
  76. publicvoidInsertPicture
    (stringRangeName,stringPicturePath,floatPictuteWidth,floatPictureHeight)  
  77. {  
  78. m_objRange=m_objSheet.get_Range(RangeName,m_objOpt);  
  79. m_objRange.Select();  
  80. floatPicLeft,PicTop;  
  81. PicLeft=Convert.ToSingle(m_objRange.Left);  
  82. PicTop=Convert.ToSingle(m_objRange.Top);  
  83. //參數含義:  
  84. //圖片路徑  
  85. //是否鏈接到文件  
  86. //圖片插入時是否隨文檔一起保存  
  87. //圖片在文檔中的坐標位置(單位:points)  
  88. //圖片顯示的寬度和高度(單位:points)  
  89. //參數詳細信息參見:http://msdn2.microsoft.com/zh-cn/library/aa221765(office.11).aspx  
  90. m_objSheet.Shapes.AddPicture(PicturePath,Microsoft.Office.Core.MsoTriState.
    msoFalse,Microsoft.Office.Core.MsoTriState.msoTrue,PicLeft,PicTop,
    PictuteWidth,PictureHeight);  
  91. }  
  92.  
  93. ///<summary> 
  94. ///將Excel文件保存到指定的目錄,目錄必須事先存在,文件名稱不一定要存在。  
  95. ///</summary> 
  96. ///<paramnameparamname="OutputFilePath">要保存成的文件的全路徑。</param> 
  97. publicvoidSaveFile(stringOutputFilePath)  
  98. {  
  99. m_objBook.SaveAs(OutputFilePath,m_objOpt,m_objOpt,  
  100. m_objOpt,m_objOpt,m_objOpt,Excel.XlSaveAsAccessMode.xlNoChange,  
  101. m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt);  
  102.  
  103. this.Close();  
  104. }  
  105. ///<summary> 
  106. ///關閉應用程序  
  107. ///</summary> 
  108. privatevoidClose()  
  109. {  
  110. m_objBook.Close(false,m_objOpt,m_objOpt);  
  111. m_objExcel.Quit();  
  112. }  
  113.  
  114. ///<summary> 
  115. ///釋放所引用的COM對象。注意:這個過程一定要執行。  
  116. ///</summary> 
  117. publicvoidDispose()  
  118. {  
  119. ReleaseObj(m_objSheets);  
  120. ReleaseObj(m_objBook);  
  121. ReleaseObj(m_objBooks);  
  122. ReleaseObj(m_objExcel);  
  123. System.GC.Collect();  
  124. System.GC.WaitForPendingFinalizers();  
  125. }  
  126. ///<summary> 
  127. ///釋放對象,內部調用  
  128. ///</summary> 
  129. ///<paramnameparamname="o"></param> 
  130. privatevoidReleaseObj(objecto)  
  131. {  
  132. try  
  133. {  
  134. System.Runtime.InteropServices.Marshal.ReleaseComObject(o);  
  135. }  
  136. catch{}  
  137. finally{o=null;}  
  138. }  
  139.  
  140. privateExcel.Applicationm_objExcel=null;  
  141. privateExcel.Workbooksm_objBooks=null;  
  142. privateExcel._Workbookm_objBook=null;  
  143. privateExcel.Sheetsm_objSheets=null;  
  144. privateExcel._Worksheetm_objSheet=null;  
  145. privateExcel.Rangem_objRange=null;  
  146. privateobjectm_objOpt=System.Reflection.Missing.Value;  
  147. }  

以上介紹C#向Excel插入數據

【編輯推薦】

  1. 定義C#接口學習經驗
  2. C# ListBox學習筆記
  3. 操作C# Dataset介紹
  4. C# ODBC訪問MySQL數據庫
  5. 淺析C#和Java不同點
責任編輯:佚名 來源: IT168
相關推薦

2009-08-11 14:51:47

C#讀取Excel中數

2009-09-04 18:00:54

C#數據訪問層

2009-08-07 17:54:41

C#單元格數據

2009-08-06 16:24:32

C#向Sql Serv

2009-08-25 12:50:32

數據庫常用C#代碼

2009-08-20 16:28:45

C#匿名方法

2009-08-25 16:49:44

C#使用if語句

2009-09-03 10:42:16

C# Employee

2009-08-25 10:08:39

C# MyData對象

2009-08-24 18:09:13

C#構造函數

2009-08-19 11:09:00

C# Cast<T>

2009-08-17 09:57:00

C# Windows

2009-07-31 17:01:21

C#存取Access數

2009-08-17 17:42:57

C#數據庫操作類

2009-08-31 09:44:23

C# Employee

2009-09-03 11:15:38

C#設置Coopera

2009-07-31 14:08:54

C# 匿名函數

2009-08-13 15:18:23

C#文件上傳

2009-08-18 17:29:02

C#使用指針

2009-08-18 09:26:07

C#線程功能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久红码专区 | 天天天天天天天干 | 亚洲高清免费观看 | 伊人春色成人 | 国产日韩视频在线 | 9999视频 | 97久久久久久 | 成年人视频在线免费观看 | 国产精品视频在线播放 | 精品国产乱码久久久久久蜜柚 | 欧美精品1区 | 久久久久久久久国产 | 特级黄一级播放 | 男女羞羞视频在线免费观看 | 亚洲国产精品一区二区第一页 | 四虎影院美女 | 欧美日韩一区精品 | 亚洲精品视频网站在线观看 | 波多野吉衣久久 | 日韩视频一区二区三区 | 久久精品国产一区二区三区 | 欧美激情视频一区二区三区在线播放 | 欧美日韩国产中文 | 一区二区三区四区视频 | 91视频在线观看 | 久久亚洲综合 | 狠狠做深爱婷婷综合一区 | 久久久免费电影 | 亚洲国产成人精品久久久国产成人一区 | 夜夜骑天天干 | 日本黄色大片免费 | 精品国产乱码久久久久久88av | 国产真实乱对白精彩久久小说 | av在线伊人| 久久久人成影片一区二区三区 | 精品一区二区三区91 | 免费一二区 | 精品中文字幕一区二区 | 91久久国产精品 | 午夜欧美一区二区三区在线播放 | 免费的av网站 |