ImageVerifierCode 换一换
格式:DOC , 页数:14 ,大小:218KB ,
资源ID:4512484      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4512484.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(c-操作excel总结.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c-操作excel总结.doc

1、C#操作Excel总结 Excel 基本操作 查看Excel中宏的方法如下: ALT+F11 0. 导入命名空间:  view source print? 1 using Microsoft.Office.Core; 2 using Microsoft.Office.Interop.Excel; 3 using System.IO; 4 using System.Reflection;   1. 如何打开已有excel文档,或者创建一个新的excel文档    view source print? 1 Applicatio

2、n app = new Application(); 2 Workbooks wbks = app.Workbooks; 3 _Workbook _wbk = wbks.Add(xxx);     若打开已有excel,把“xxx”替换成该excel的文件路径; 注:若新建一个excel文档,“xxx”替换成true即可;不过这里新建的excel文档默认只有一个sheet。    2. 取得、删除和添加sheet   view source print? 1 Sheets shs = _wbk.Sheets;     2.1取得:  

3、 view source print? 1 //i是要取得的sheet的index 2 _Worksheet _wsh = (_Worksheet)shs.get_Item(i)     2.2 删除: view source print? 1 //删除sheet必须的设置 2 app.DisplayAlerts = false; 3 _wsh.Delete(); 2.3 添加: view source print? 1 //a(before),b(after):确定添加位置;c:数目;d:类型 2 app.Works

4、heets.Add(a,b,c,d); 2.4 sheet的重命名 view source print? 1 _wsh.Name = "xxx";   3. 删除行和列  3.1 删除行: view source print? 1 ((Range)_wsh.Rows[3, Missing.Value]).Delete(XlDeleteShiftDirection.xlShiftUp); 3.2 删除列: view source print? 1 _wsh.get_Range( 2 _wsh.Cells[1, 2],  3 _

5、wsh.Cells[_wsh.Rows.Count, 2]).Delete(XlDeleteShiftDirection.xlShiftToLeft 4 );   4. 添加行和列  4.1 添加行: view source print? 1 ((Range)_wsh.Rows[11, Missing.Value]) 2 .Insert(Missing.Value, XlInsertFormatOrigin.xlFormatFromLeftOrAbove); 4.2 添加列: view source print? 1 _wsh.get_Rang

6、e( 2 _wsh.Cells[1, 1], _wsh.Cells[_wsh.Rows.Count, 1]) 3 .Insert(Missing.Value, XlInsertShiftDirection.xlShiftToRight);   5. 单元格操作  5.1 单元格的取得 view source print? 1 //获得单元格对象 2 _wsh.Cells[row, cell] 5.2 设置公式 view source print? 1 //在对应的单元格输入公式即可 2 _wsh.Cells[row, cell]

7、 = "=Sum(A1/B1)"; 5.3 合并单元格 view source print? 1 ((Range)_wsh.Rows[1, Missing.Value]).Merge(Missing.Value); 5.4 设置行高和列宽 view source print? 1 ((Range)_wsh.Rows[3, Missing.Value]).RowHeight = 5; 2 ((Range)_wsh.Rows[3, Missing.Value]).ColumnWidth = 5; 5.5 设置单元格颜色 颜色共有56中,详情请参照附录的[颜色

8、对照表] view source print? 1 ((Range)_wsh.Rows[1, Missing.Value]).Interior.ColorIndex = 3; 5.6 设置字号 view source print? 1 ((Range)_wsh.Cells[1, "B"]).Font.Size = 8; 5.7 是否设置粗体 view source print? 1 ((Range)_wsh.Rows[1, Missing.Value]).Font.Bold = false; 5.8 单元格/区域、水平垂直居中 view sou

9、rce print? 1 ((Range)_wsh.Cells[2, 1]).HorizontalAlignment = XlVAlign.xlVAlignCenter; 5.9 设置区域边框 view source print? 1 ((Range)_wsh.Cells[3, 3]).Borders.LineStyle = 3; 5.10 设置边框的上、下、左、右线条 view source print? 01 //左 02 _wsh.get_Range( 03 _wsh.Cells[2, 1], _wsh.Cells[2, 2])

10、 04 .Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick;// 05    06 //右 07 _wsh.get_Range( 08 _wsh.Cells[2, 1], _wsh.Cells[2, 2]) 09 .Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick;// 10    11 //上 12 _wsh.get_Range( 13 _wsh.C

11、ells[2, 1], _wsh.Cells[2, 2]) 14 .Borders[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThick;//下 15    16 //下 17 _wsh.get_Range( 18 _wsh.Cells[2, 1], _wsh.Cells[2, 2]) 19 .Borders[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThick; 自动换行 range.WrapText

12、 6. 指定区域的复制  view source print? 01 _Worksheet _wsh = (_Worksheet)shs.get_Item(1);//复制选中区域的内容 02    03 Range range = _wsh.get_Range(_wsh.Cells[7, 1], _wsh.Cells[10, _wsh.Columns.Count]); 04    05 range.Select(); 06 range.Copy(Type.Missing); 07    08 //选中粘贴的起始位置 09

13、 Range test = ((Range)_wsh.Cells[11, 1]); 10 test.Select(); 11    12 //屏蔽掉Alert,默认确定粘贴 13 app.DisplayAlerts = false; 14 test.Parse(Missing.Value, Missing.Value); 注:Type.Missing和Missing.Value,在excel的操作中被视为某些参数的默认值,他们起到的作用很多时候是形式补足参数   7. excel文件的保存,及后续处理  7.1 文件保存 view sourc

14、e print? 1 //屏蔽掉系统跳出的Alert 2 app.AlertBeforeOverwriting = false; 3    4 //保存到指定目录 5 SaveAs(filePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Val

15、ue, Missing.Value, Missing.Value); 注:这个地方只能采用该方法保存,不然在指定路径下保存文件外,在我的文档中也会生成一个对应的副本 7.2 后续处理:退出和释放 view source print? 1 //_wbk.Close(null, null, null); 2 //wbks.Close(); 3 app.Quit(); 4    5 //释放掉多余的excel进程 6 System.Runtime.InteropServices.Marshal.ReleaseComObject(app); 

16、 7 app = null; 说明:在application关闭的过程中,通常我们有两种方案: #直接退出app #先关闭workbook,然后关闭workbooks,最后在退出app 鉴于这两种方式,或许本质上是一样的(这点需要证明),但是依据我们软件开发的原则:哪里需要哪里声明,哪里结束哪里释放回收。 既然在直接退出app的时候,我们不清楚workbook和workbooks具体在什么时间关闭,不如在结束的时候直接手动关闭,这样做可以做到资源的快速直接回收; 所以,建议采用先关闭workbook,然后关闭workbooks,最后在退出app。   8. 关

17、于单元格设置域和取得域里需要的数据  8.1 若单元格已经设置为下拉框 view source print? 1 //这里的“1,2,3”设置的就是下拉框的值 2 ((Range)_wsh.Cells[2, 1]) 3 .Validation.Modify(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, Type.Missing, "1,2,3", Type.Missing); 8.2 若单元格还没有设置为下拉框的形式 view source print? 1 ((Range)

18、wsh.Cells[2, 1]) 2 .Validation.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, Type.Missing,"1,2,3", Type.Missing); 8.3 取得下拉框域的值 view source print? 1 string strValue = ((Range)_wsh.Cells[2, 1]).Validation.Formula1; 注:若在excel模板中通过有效性设定了下拉框的值,strValue得到的将会是excel里的公式,需将其转换, 取

19、得strValue后,可以根据其索引得到你需要的数值;   9. 隐藏行和隐藏列  9.1 隐藏行 view source print? 1 _wsh.get_Range(_wsh.Cells[19, 1], _wsh.Cells[22, 1]).EntireRow.Hidden = true; 9.2 隐藏列 view source print? 1 _wsh.get_Range(_wsh.Cells[1, 1], _wsh.Cells[_wsh.Rows.Count, 1]) 2 .EntireColumn.Hidden = true; 10

20、.锁定指定区域 Range.Locked 11.Excel中插入图片 1.using System; 2.using System.Collections.Generic; 3.using System.Text; 4.//using Excel = Microsoft.Office.Interop.Excel; 5.using Excel; 6.using System.Windows.Forms; 7. 8. 9. namespace ExcelReport 10. { 11. class InsertPicToExcel 12.

21、 { 13. /**////

14. /// 打开没有模板的操作。 15. /// 16. public void Open() 17. { 18. this.Open(String.Empty); 19. } 20. 21. /**//// 22. /// 功能:实现Excel应用程序的打开 23. /// 2

22、4. /// 模板文件物理路径 25. public void Open(string TemplateFilePath) 26. { 27. //打开对象 28. m_objExcel = new Excel.Application(); 29. m_objExcel.Visible = false; 30. m_objExcel.DisplayAlerts

23、 = false; 31. 32. if (m_objExcel.Version != "11.0") 33. { 34. MessageBox.Show("您的 Excel 版本不是 11.0 (Office 2003),操作可能会出现问题。"); 35. m_objExcel.Quit(); 36. return; 37. } 38. 39. m_objBooks = (Excel.

24、Workbooks)m_objExcel.Workbooks; 40. if (TemplateFilePath.Equals(String.Empty)) 41. { 42. m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt)); 43. } 44. else 45. { 46. m_objBook = m_objBooks.Open(Te

25、mplateFilePath, m_objOpt, m_objOpt, m_objOpt, m_objOpt, 47. m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt); 48. } 49. m_objSheets = (Excel.Sheets)m_objBook.Worksheets; 50. m_objSheet = (Exc

26、el._Worksheet)(m_objSheets.get_Item(1)); 51. m_objExcel.WorkbookBeforeClose += new Excel.AppEvents_WorkbookBeforeCloseEventHandler(m_objExcel_WorkbookBeforeClose); 52. } 53. 54. private void m_objExcel_WorkbookBeforeClose(Excel.Workbook m_objBooks, ref bool _Cancel)

27、55. { 56. MessageBox.Show("保存完毕!"); 57. } 58. 59. /**////

60. /// 将图片插入到指定的单元格位置。 61. /// 注意:图片必须是绝对物理路径 62. /// 63. /// 单元格名称,例如:B4 64. /// 要插入图片的绝对路径。 65. public void InsertPicture(string RangeName, string PicturePath) 66. { 67. m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 68. m_objRange.Select(); 69. Excel.Pictures pics = (Excel.Pictures)m_objSheet.P

29、ictures(m_objOpt); 70. pics.Insert(PicturePath, m_objOpt); 71. } 72. 73. /**////

74. /// 将图片插入到指定的单元格位置,并设置图片的宽度和高度。 75. /// 注意:图片必须是绝对物理路径 76. /// 77. /// 单元格名称,例如:B4 78.

30、 /// 要插入图片的绝对路径。 79. /// 插入后,图片在Excel中显示的宽度。 80. /// 插入后,图片在Excel中显示的高度。 81. public void InsertPicture(string RangeName, string PicturePath, float PictuteWidth,

31、 float PictureHeight) 82. { 83. m_objRange = m_objSheet.get_Range(RangeName, m_objOpt); 84. m_objRange.Select(); 85. float PicLeft, PicTop; 86. PicLeft = Convert.ToSingle(m_objRange.Left); 87. PicTop = Convert.ToSingle(m_objRa

32、nge.Top); 88. //参数含义: 89. //图片路径 90. //是否链接到文件 91. //图片插入时是否随文档一起保存 92. //图片在文档中的坐标位置(单位:points) 93. //图片显示的宽度和高度(单位:points) 94. //参数详细信息参见: 95. m_objSheet.Shapes.AddPicture(PicturePath,Mic

33、rosoft.Office.Core.MsoTriState.msoFalse, 96. Microsoft.Office.Core.MsoTriState.msoTrue, PicLeft, PicTop, PictuteWidth, PictureHeight); 97. } 98. 99. /**////

100. /// 将Excel文件保存到指定的目录,目录必须事先存在,文件名称不一定要存在。 101. /// 102. /

34、// 要保存成的文件的全路径。 103. public void SaveFile(string OutputFilePath) 104. { 105. m_objBook.SaveAs(OutputFilePath, m_objOpt, m_objOpt, 106. m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, 107.

35、 m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt); 108. 109. this.Close(); 110. } 111. /**////

112. /// 关闭应用程序 113. /// 114. private void Close() 115. { 116. m_objBook.Close(false, m_objOpt, m_objOpt);

36、117. m_objExcel.Quit(); 118. } 119. 120. /**////

121. /// 释放所引用的COM对象。注意:这个过程一定要执行。 122. /// 123. public void Dispose() 124. { 125. ReleaseObj(m_objSheets); 126. ReleaseObj(m_objBook); 127.

37、 ReleaseObj(m_objBooks); 128. ReleaseObj(m_objExcel); 129. System.GC.Collect(); 130. System.GC.WaitForPendingFinalizers(); 131. } 132. /**////

133. /// 释放对象,内部调用 134. /// 135. /// 136. private void ReleaseObj(object o) 137. { 138. try 139. { 140. System.Runtime.InteropServices.Marshal.ReleaseComObject(o); 141. } 142. catch { } 143. finally { o = null; } 144. } 145

39、 146. private Excel.Application m_objExcel = null; 147. private Excel.Workbooks m_objBooks = null; 148. private Excel._Workbook m_objBook = null; 149. private Excel.Sheets m_objSheets = null; 150. private Excel._Worksheet m_objSheet = null; 151. priva

40、te Excel.Range m_objRange = null; 152. private object m_objOpt = System.Reflection.Missing.Value; 153. } 154. 155.} 156. 调用: 1.InsertPicToExcel ipt = new InsertPicToExcel(); 2.ipt.Open(); 3.ipt.InsertPicture("B2", @"C:\Excellogo.gif"); 4.ipt.InsertPicture("B18", @"C:\Ex

41、cellogo.gif", 120, 80); 5.ipt.SaveFile(@"C:\ExcelTest.xls"); 6.ipt.Dispose(); 7. 【Excel】行高和列宽单位的换算 默认情况下,Excel的行高为14.25(19像素),列宽为8.38(72像素),单位无法直接用毫米(mm)或厘米(cm)表示,需要换算,换算表如下。 ====================================== 像素 磅 英寸 毫米 厘米 十二点活字 96 72 1 25.4 2.54 6 ===============

42、 行高是以磅为单位 1个单位=1磅=4/3像素=0.3528mm(25.4/72) 1mm=2.835个单位(72/25.4) 列宽与EXCEL的标准字体有关 “帮助”中说——出现在“标准列宽”框中的数字为适合于单元格的标准字体的数字 0-9 的平均值。 【注解】 标准字体——是指“EXCEL”---“工具”---“选项”---“常规”中的标准字体。当然与字的大小也有关,因为字体中,如0与1,其宽度有可能不一样,EXCEL是以“标准字体”的0123456789这10个字符的宽度平均值为计量单位。 1 个单位列宽为多少磅可用

43、VBA得到。 =Range("A1").Width/Columns(1).ColumnWidth (当然A1不能是合并了的单元格) 如:简体OFFICE,默认标准字体(宋体12号)情况下 Range("A1").Width/Columns(1).ColumnWidth=6.444 这样行高为56.7,列宽为8.799时,为2*2CM 1个单位列宽=2.2733mm 1mm=0.4399个单位列宽 在调整单元格行高和列宽时,如果觉得换算有些麻烦,不过有个简单的方法: 先插入一矩形或文本框,将其宽度设为10mm,移动使其左边界与表格线重合,然后调整单元格列宽使网

44、络线与矩形的右边界重合。也只能是近似的。 使用毫米或厘米表示Excel的行高和列宽单位 1.Excel的行高和列宽单位无法用mm或cm表示。需要计算。在1024*768下,1CM约为38像素。以此为基准,可计算并控制报表的行列位置。 行高是以磅为单位 1mm=2.835磅 2.Excel行高所使用单位为磅(1cm=28.6磅),列宽使用单位为1/10英寸(既1个单位为2.54mm) excel里的单位和cm(厘米)可以这样转换: 行高: 1毫米=2.7682个单位 1厘米=27.682个单位 1个单位=0.3612毫米 列宽: 1毫米=0.4374个单位 1

45、厘米=4.374 个单位 1个单位=2.2862毫米 3.列宽与EXCEL的标准字体有关 ===================== "帮助"中说------- 出现在“标准列宽”框中的数字为适合于单元格的标准字体的数字 0-9 的平均值。 ===================== 注解: 标准字体------是指EXCEL---工具---选项---常规中的标准字体(当然与字大小也有关) 因为字体中,如,0与1其宽度有可能不一样,EXCEL是以"标准字体"的0123456789这10个字符的平均值为计量单位. 1 个单位列宽为多少磅可用VBA得到。 =Range("A1").Width/Columns(1).ColumnWidth (当然A1不能是合并了的单元格) 如: 简体OFFICE,默认标准字体(宋体12号)情况下 Range("A1").Width/Columns(1).ColumnWidth=6.444 这样行高为56.7,列宽为8.799时,为2*2CM (此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持) 编辑版word

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服