seo网站课程,做淘宝店招的网站,线上报名小程序怎么做,如何开网页游戏初级代码游戏的专栏介绍与文章目录-CSDN博客
我的github#xff1a;codetoys#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。
这些代码大部分以Linux为目标但部分代码是纯C的#xff0c;可以在任何平台上使用。
源码指引#xff1a;github源…初级代码游戏的专栏介绍与文章目录-CSDN博客
我的githubcodetoys所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。
这些代码大部分以Linux为目标但部分代码是纯C的可以在任何平台上使用。
源码指引github源码指引_初级代码游戏的博客-CSDN博客 前一篇VSTOC#Excel开发1起步 示例项目-CSDN博客 前一篇已经能够运行excel扩展并能够使用按钮事件来显示消息现在我们了解如果访问Execl里面的东西。
目录
一、Excel对象模型
二、程序如何访问对象模型
三、示例代码
四、基本操作
4.1 Application
4.2 Workbook
4.3 Worksheet
4.4 Range 一、Excel对象模型 Excel提供了一个对象模型外接程序通过对象模型来访问功能。对象模型里面最重要的四个对象是
Application 总入口表示整个Excel程序Workbook 工作簿也就是文件Worksheet 工作表Range 这个好麻烦可以代表一个单元格、一行、一列、连续区域以及多个连续区域甚至多张工作表的多个连续区域 每个对象都有一些属性和方法供操作。
二、程序如何访问对象模型 Excel对象模型位于Microsoft.Office.Interop.Excel下可以添加using以简化访问
using Microsoft.Office.Interop.Excel;//直接使用Worksheet Range
或者
using Excel Microsoft.Office.Interop.Excel;//使用Excel.WorksheetApplication对象是默认生成的类ThisAddIn的成员在ThisAddIn类里面可以直接访问 不加“this”也可以。上面增加的代码来自微软的教程没什么意思 在其他类不能直接访问但可以使用Globals.ThisAddIn.Application来访问 后面详细介绍这段代码。
三、示例代码 我们现在修改上次编写的button1_Click函数 private void button1_Click(object sender, RibbonControlEventArgs e){string str Application 版本 Globals.ThisAddIn.Application.Version \n;try{str 原始Caption Globals.ThisAddIn.Application.Caption \n;Globals.ThisAddIn.Application.Caption 1234567;str 工作簿总数 Globals.ThisAddIn.Application.Workbooks.Count \n;str 当前工作簿 Globals.ThisAddIn.Application.ActiveWorkbook.Name \n;str 工作表总数 Globals.ThisAddIn.Application.Worksheets.Count \n;Worksheet activeSheet Globals.ThisAddIn.Application.ActiveSheet;str 当前工作表 activeSheet.Name \n;str 列总数 (null ! activeSheet.Columns ? activeSheet.Columns.Count : -1) 行总数 (null ! activeSheet.Rows ? activeSheet.Rows.Count : -1) UsedRange activeSheet.UsedRange.Address \n;Range currentCell Globals.ThisAddIn.Application.ActiveCell;str 当前单元格 currentCell.Address 内容 currentCell.Text\n;//str Cells activeSheet.Cells.Count;//新建或有数据或保存过的都触发异常activeSheet.get_Range(A1:B1).Value new string[2] { Value, 2 };activeSheet.get_Range(A2:A3).Value new string[2] { Value, 2 };//竖着是无效的只会重复第一个数据activeSheet.get_Range(B5).Value2 Value2;activeSheet.get_Range(C5:C10).Value2 Value2;}catch (Exception ex){MessageBox.Show(ex.ToString());}MessageBox.Show(str);}直接执行应该是没问题的注释掉的那句会引发异常我们先回避以后再搞清楚到底怎么回事数据模型的设计本身也未必很久严谨毕竟是很多年逐渐改出来的。 先点击运行会自动打开Excel选择空新建工作簿然后点击“加载项”最后点击我们写的按钮“button1”效果如下图注意内容都是代码添加上去的 由于代码中添加内容是在消息框之后执行的所以消息框显示的是无数据时的状态。再点一次“button1”显示的就不一样了 四、基本操作
4.1 Application
Version 获取Excel的版本Caption 获取完整的标题栏包括工作簿名称或者设置标题栏的后半部不包括工作簿名称Workbooks 所有的工作簿的集合ActiveWorkbook 当前工作簿ActiveSheet 当前工作表ActiveCell 当前单元格
4.2 Workbook
Name 工作簿的名称
4.3 Worksheet
Name 工作表的名称Columns 列的集合从示例看行和列的Count和实际用到的没关系Rows 行的集合Cells 这个看起来是单元格的集合但是调用它的Count就会抛出异常所以先别用吧UsedRange 使用的单元格示例代码多尝试几次中可以看出来是有内容的矩形范围注意示例代码的消息框显示的是点击按钮之前的状态有人说删除数据不影响这个值从这个测试代码看不出来或许还有别的原因吧比如设置格式之类get_Range 获取单元格或一组单元格这个才是我们用来操作单元格的对象
4.4 Range
Address 单元格或很多单元格的地址Value 单元格的值如果是一组单元格就要传入数组获取的时候也是得到数组实话说我挺困惑的不是很适应这种过于灵活的编程语言的思路Value2 按照别人的说法跟Value的区别是不会处理某些复杂格式Text 获取文本如果是很多单元格会拼接在一起这个属性是只读的 下一篇VSTOC#Excel开发3Range对象 处理列宽和行高-CSDN博客 这里是文档结束