一、如何在winform中打开excel文件
步骤:
1、添加引用“miscrosoft excel 16.0 object library”,并导出命名空间:
using microsoft.office.core; using excel = microsoft.office.interop.excel;
2、创建excel应用对象,并获取workbook对象,和worksheet对象。
excel.application excelapp = new excel.application(); excel.workbook worksbook = excelapp.workbooks.add(); //创建一个新工作簿 //也可以添加进来一个已存在的工作簿 //excel.workbook wb = excelapp.workbooks.add("d://test.xlsx"); excel.worksheet worksheet = (excel.worksheet)worksbook.worksheets[1]; //在工作簿中得到sheet。 //也可以用excel.worksheet worksheet = (excel.worksheet)worksbook.activesheet语句获取
3、将excel应用展现出来!
excelapp.visible = true;
二、打开excel文件的代码详解
excelapp.workbooks.add(); 方法,新建一个工作表。 新工作表将成为活动工作表。()中有一个可选参数,类型为object,
如果此参数为指定现有 microsoft excel 文件名的字符串,那么创建新工作簿将以该指定的文件作为模板。
如果此参数为常量,新工作簿将包含一个指定类型的工作表。
此参数可以是以下 xlwbatemplate 常量之一:xlwbatchart、xlwbatexcel4intlmacrosheet、xlwbatexcel4macrosheet 或 xlwbatworksheet。
- xlwbatchart -4109 图表。
- xlwbatexcel4intlmacrosheet 4 excel 版本 4 宏。
- xlwbatexcel4macrosheet 3 excel 版本 4 国际宏。
- xlwbatworksheet -4167 工作表。
在打开excel文件的时候,可以设置一些worksheet的属性,如下:
worksheet.name = "测试sheet1"; //工作表的名称 worksheet.cells.wraptext = true; //设置所有列的文本自动换行 worksheet.cells.entirerow.autofit(); //设置所有列自动调整行高
三、如何向excel中插入数据
在获取到worksheet对象后,我们就可以向表格中插入数据了。
实例代码如下:
worksheet.cells[1, "a"].value = "我是一个字符串";
获取单元格的方式是:
worksheet.cells[row, column];
cells是worksheet里的一个只读属性,range类型,用来获取某一个单元格。
如果要得到该单元格的值,使用:
worksheet.cells[row, column].value;
获取多个单元格的方式:
excel.range range = (excel.range)worksheet.get_range(startcell, endcell);
返回的是range对象,表示连续的多个单元格。
四、如何设置excel里的单元格格式
设置单元格格式的方式如下:
range.merge(0); //合并方法,0的时候直接合并为一个单元格 range.font.size = 16; //字体大小 range.font.name = "黑体"; //字体 range.wraptext = true; //文本自动换行 range.entirerow.autofit(); //自动调整行高 range.rowheight = 20; //自定义设置行高 range.entirecolumn.autofit(); //自动调整列宽 range.columnwidth = 15; //自定义设置列宽 range.horizontalalignment = xlvalign.xlvaligncenter; //横向居中 range.value = strtext; //合并单元格之后,设置其中的文本 range.interior.colorindex = 20; //填充颜色 range.cells.borders.linestyle = 1; //设置单元格边框的粗细
range可以是一个单元格,也可以是多个单元格的集合。
xlvalign是一个枚举类,用来表示单元格内值的对齐方式。其内部有5个枚举值,含义分别如下
xlvalignbottom = -4107, //底端对齐 xlvaligncenter = -4108, //居中对齐 xlvaligndistributed = -4117, //分散对齐 xlvalignjustify = -4130, //两端对齐 xlvaligntop = -4160 //顶端对齐
五、如何设置excel里的页面格式
worksheet.pagesetup.papersize = excel.xlpapersize.xlpapera4; //纸张大小 worksheet.pagesetup.orientation = excel.xlpageorientation.xllandscape; //页面横向 worksheet.pagesetup.zoom = 75; //打印时页面设置,缩放比例百分之几 worksheet.pagesetup.zoom = false; //打印时页面设置,必须设置为false,页高,页宽才有效 worksheet.pagesetup.fittopageswide = 1; //设置页面缩放的页宽为1页宽 worksheet.pagesetup.fittopagestall = false; //设置页面缩放的页高自动 worksheet.pagesetup.leftheader = "nigel"; //页面左上边的标志 worksheet.pagesetup.centerfooter = "第 &p 页,共 &n 页"; //页面下标 worksheet.pagesetup.printgridlines = true; //打印单元格网线 worksheet.pagesetup.topmargin = 1.5 / 0.035; //上边距为2cm(转换为in) worksheet.pagesetup.bottommargin = 1.5 / 0.035; //下边距为1.5cm worksheet.pagesetup.leftmargin = 2 / 0.035; //左边距为2cm worksheet.pagesetup.rightmargin = 2 / 0.035; //右边距为2cm worksheet.pagesetup.centerhorizontally = true; //文字水平居中
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论