温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中怎么向Excel插入数据

发布时间:2021-07-07 16:19:08 阅读:781 作者:Leah 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇文章给大家分享的是有关C#中怎么向Excel插入数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

调用方法:

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

简单包装的类:

usingSystem;  usingSystem.Windows.Forms;  usingExcel=Microsoft.Office.Interop.Excel;  namespaceMengXianhui.Utility.ExcelReport  {  classInsertPictureToExcel  {  ///<summary> ///打开没有模板的操作。  ///</summary> publicvoidOpen()  {  this.Open(String.Empty);  }  ///<summary> ///功能:实现Excel应用程序的打开  ///</summary> ///<paramnameparamname="TemplateFilePath">模板文件物理路径</param> publicvoidOpen(stringTemplateFilePath)  {  //打开对象  m_objExcel=newExcel.Application();  m_objExcel.Visible=false;  m_objExcel.DisplayAlerts=false;  if(m_objExcel.Version!="11.0")  {  MessageBox.Show("您的Excel版本不是11.0(Office2003),操作可能会出现问题。");  m_objExcel.Quit();  return;  }  m_objBooks=(Excel.Workbooks)m_objExcel.Workbooks;  if(TemplateFilePath.Equals(String.Empty))  {  m_objBook=(Excel._Workbook)(m_objBooks.Add(m_objOpt));  }  else  {  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);  }  m_objSheets=(Excel.Sheets)m_objBook.Worksheets;  m_objSheet=(Excel._Worksheet)(m_objSheets.get_Item(1));  m_objExcel.WorkbookBeforeClose+=newExcel.AppEvents_WorkbookBeforeCloseEventHandler(m_objExcel_WorkbookBeforeClose);  }  privatevoidm_objExcel_WorkbookBeforeClose(Excel.Workbookm_objBooks,refbool_Cancel)  {  MessageBox.Show("保存完毕!");  }  ///<summary> ///将图片插入到指定的单元格位置。  ///注意:图片必须是绝对物理路径  ///</summary> ///<paramnameparamname="RangeName">单元格名称,例如:B4</param> ///<paramnameparamname="PicturePath">要插入图片的绝对路径。</param> publicvoidInsertPicture(stringRangeName,stringPicturePath)  {  m_objRange=m_objSheet.get_Range(RangeName,m_objOpt);  m_objRange.Select();  Excel.Picturespics=(Excel.Pictures)m_objSheet.Pictures(m_objOpt);  pics.Insert(PicturePath,m_objOpt);  }  ///<summary> ///将图片插入到指定的单元格位置,并设置图片的宽度和高度。  ///注意:图片必须是绝对物理路径  ///</summary> ///<paramnameparamname="RangeName">单元格名称,例如:B4</param> ///<paramnameparamname="PicturePath">要插入图片的绝对路径。</param> ///<paramnameparamname="PictuteWidth">插入后,图片在Excel中显示的宽度。</param> ///<paramnameparamname="PictureHeight">插入后,图片在Excel中显示的高度。</param> publicvoidInsertPicture(stringRangeName,stringPicturePath,floatPictuteWidth,floatPictureHeight)  {  m_objRange=m_objSheet.get_Range(RangeName,m_objOpt);  m_objRange.Select();  floatPicLeft,PicTop;  PicLeft=Convert.ToSingle(m_objRange.Left);  PicTop=Convert.ToSingle(m_objRange.Top);  //参数含义:  //图片路径  //是否链接到文件  //图片插入时是否随文档一起保存  //图片在文档中的坐标位置(单位:points)  //图片显示的宽度和高度(单位:points)  //参数详细信息参见:http://msdn2.microsoft.com/zh-cn/library/aa221765(office.11).aspx  m_objSheet.Shapes.AddPicture(PicturePath,Microsoft.Office.Core.MsoTriState.msoFalse,Microsoft.Office.Core.MsoTriState.msoTrue,PicLeft,PicTop,PictuteWidth,PictureHeight);  }  ///<summary> ///将Excel文件保存到指定的目录,目录必须事先存在,文件名称不一定要存在。  ///</summary> ///<paramnameparamname="OutputFilePath">要保存成的文件的全路径。</param> publicvoidSaveFile(stringOutputFilePath)  {  m_objBook.SaveAs(OutputFilePath,m_objOpt,m_objOpt,  m_objOpt,m_objOpt,m_objOpt,Excel.XlSaveAsAccessMode.xlNoChange,  m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt);  this.Close();  }  ///<summary> ///关闭应用程序  ///</summary> privatevoidClose()  {  m_objBook.Close(false,m_objOpt,m_objOpt);  m_objExcel.Quit();  }  ///<summary> ///释放所引用的COM对象。注意:这个过程一定要执行。  ///</summary> publicvoidDispose()  {  ReleaseObj(m_objSheets);  ReleaseObj(m_objBook);  ReleaseObj(m_objBooks);  ReleaseObj(m_objExcel);  System.GC.Collect();  System.GC.WaitForPendingFinalizers();  }  ///<summary> ///释放对象,内部调用  ///</summary> ///<paramnameparamname="o"></param> privatevoidReleaseObj(objecto)  {  try  {  System.Runtime.InteropServices.Marshal.ReleaseComObject(o);  }  catch{}  finally{o=null;}  }  privateExcel.Applicationm_objExcel=null;  privateExcel.Workbooksm_objBooks=null;  privateExcel._Workbookm_objBook=null;  privateExcel.Sheetsm_objSheets=null;  privateExcel._Worksheetm_objSheet=null;  privateExcel.Rangem_objRange=null;  privateobjectm_objOpt=System.Reflection.Missing.Value;  }  } 

以上就是C#中怎么向Excel插入数据,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×