一、要使用 excel.dll文件,先得把它从excel中提取出来。对于excel2000以下版本,找到Excel9.olb文件然后在命令行输入:Tlbimp Excel9.olb Excel.dll,就可以将Excel.dll从excel2000里面提取出来。对于excel2003使用Tlbimp命令,把 Excel9.olb换成Excel.exe,从excel.exe文件里面就可以直接提取excel.dll文件。当然,所有的前提是你的电脑上必须安装了Microsoft Visual Studio和excel。
提出dll文件后,请将它放到你项目的\bin目录下去。然后再要使用的地方引入。
其实,Tlbimp命令是vs自带的一个工具,位于Microsoft Visual Studio 8\SDK\v2.0\Bin下,我没试过用它能不能把其他exe文件里面的东西提取成dll文件,但是原理上因该是可以的。昨天看了关于内存的一点文章,大概这个命令就是寻找exe文件里面这些方法的地址然后把它做成dll文件吧。这一方面将来再研究。本文主要是对excel.dll中的一些方法罗列出来,便于我自己和大家使用。
废话不多说了。
二、excel.dll中的方法汇总(不断添加中)
类、方法名(参数)、变量名 注释
Excel.Application 进程应用。在所有操作之前,必须在进程中中创建excel的饮用。然后才能开始所有对dll文件中方法的调用。
例:Excel.Application excel = new Excel.Application();
excel.Application.Workbooks Excel文件中的一张sheet工作簿
Workbooks.Add(object Template) 增加一张工作工作簿。Template我给了个true
Workbooks.Close() 关闭一张工作工作簿。
Workbooks.Count 获取工作簿的数量
Workbooks.get_Item(object index) 获取工作簿对象,参数为工作簿的索引值。
Workbooks.Parent 获取工作簿的父对象。
excel.Cells 获取单元格对象集合。
excel.Cells[int Row, int Column] 获取或设置指定的单元格对象
Cells.RowHeight 获取或设置单元格的高度
Cells.Borders.LineStyle 获取或设置单元格的边界线的样式。后面的数字为int型,数字好像是0到12之间,和在excel里面操作里面选择线的样式有对应,只是那个顺序稍微有点出入。
Cells.Borders.Color 获取或者设置单元格边界线的颜色。颜色不是正常的六位十六进制数字,而是微软自行规定的整形数字。具体换算还有待研究。
Columns.ColumnWidth 获取或设置列宽
Range 单元格对象类,例如:Range range=(Range)excel.Cells[4, 1];语句可以将单元格对象作为一个实例化进行操作。
range.Borders.get_Item(
XlBordersIndex index) 获取单元格某一个边的边界对象。注意:里面的参数是一个边界对象类。参数示例:
Excel.XlBordersIndex.xlEdgeRight:单元格右边界
同理,你可以去XlBordersIndex后面点出来左边界、上边界、下边界。
示例:
range.Borders.get_Item(Excel.XlBordersIndex.xlEdgeRight).LineStyle = 2;//设置此单元格的右边界为虚线。
range.Borders.get_Item(Excel.XlBordersIndex.xlDiagonalDown).LineStyle=2;//在单元格里面划一道左高右低的线。
好玩吧?嘿嘿!还有更多的……
下面的例子还有更多的方法,自己看吧:
Range rd = excel.get_Range(excel.Cells[5, 1], excel.Cells[5, 2]);
//本句将两个分开的单元格作为一个单元。。
rd.Activate(); //将其激活。
rd.Merge(0); //合并单元格。里面的参数0似乎没有什么意义。
rd.NoteText( "写入一段文字",3,10); //单元格标注。
rd.Value2 = "这是写入单元格的内容"; //在单元格内写入内容。注意:text属性只能读,写不进去。所以得用这个属性。
rd.VerticalAlignment = 2; //设置文本的垂直对齐方式为居中。本属性允许的value类型为int32。
rd.Orientation = 60; //把文字按照逆时钟方向旋转一定角度。
rd.RowHeight = 100;//设置行高
rd.WrapText = 3; //换行
rd.HorizontalAlignment = 3; //设置文本的水平对齐方式为居中。本属性允许的value类型为int32。
rd.Font.Size = 10;//设置字的大小。