日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
概述C#向Excel插入數據

這幾天做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. /// 
  10. ///打開沒有模板的操作。  
  11. /// 
  12. publicvoidOpen()  
  13. {  
  14. this.Open(String.Empty);  
  15. }  
  16.  
  17. /// 
  18. ///功能:實現Excel應用程序的打開  
  19. /// 
  20. ///<paramnameparamname="TemplateFilePath">模板文件物理路徑 
  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. /// 
  55. ///將圖片插入到指定的單元格位置。  
  56. ///注意:圖片必須是絕對物理路徑  
  57. /// 
  58. ///<paramnameparamname="RangeName">單元格名稱,例如:B4 
  59. ///<paramnameparamname="PicturePath">要插入圖片的絕對路徑。 
  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. /// 
  69. ///將圖片插入到指定的單元格位置,并設置圖片的寬度和高度。  
  70. ///注意:圖片必須是絕對物理路徑  
  71. /// 
  72. ///<paramnameparamname="RangeName">單元格名稱,例如:B4 
  73. ///<paramnameparamname="PicturePath">要插入圖片的絕對路徑。 
  74. ///<paramnameparamname="PictuteWidth">插入后,圖片在Excel中顯示的寬度。 
  75. ///<paramnameparamname="PictureHeight">插入后,圖片在Excel中顯示的高度。 
  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. /// 
  94. ///將Excel文件保存到指定的目錄,目錄必須事先存在,文件名稱不一定要存在。  
  95. /// 
  96. ///<paramnameparamname="OutputFilePath">要保存成的文件的全路徑。 
  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. /// 
  106. ///關閉應用程序  
  107. /// 
  108. privatevoidClose()  
  109. {  
  110. m_objBook.Close(false,m_objOpt,m_objOpt);  
  111. m_objExcel.Quit();  
  112. }  
  113.  
  114. /// 
  115. ///釋放所引用的COM對象。注意:這個過程一定要執(zhí)行。  
  116. /// 
  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. /// 
  127. ///釋放對象,內部調用  
  128. /// 
  129. ///<paramnameparamname="o"> 
  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不同點

分享文章:概述C#向Excel插入數據
文章來源:http://m.5511xx.com/article/dpddoch.html