当前位置: 代码网 > it编程>编程语言>C# > C#如何在WinForm中打开Excel文件,或打开Excel应用显示数据

C#如何在WinForm中打开Excel文件,或打开Excel应用显示数据

2025年02月14日 C# 我要评论
一、如何在winform中打开excel文件步骤:1、添加引用“miscrosoft excel 16.0 object library”,并导出命名空间:using micr

一、如何在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; 						//文字水平居中

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com