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

 更新时间:2024年12月30日 09:13:43   作者:木林森先生  
这篇文章详细介绍了如何在WinForm中打开Excel文件,并提供了相关的代码解释、数据插入、单元格格式设置和页面格式设置的方法

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • c# 钩子学习笔记

    c# 钩子学习笔记

    今天弄了一下c#的钩子,没弄好,但是钩子安装成功,可以捕获键盘事件。
    2011-04-04
  • C#入门之结构类型Struct

    C#入门之结构类型Struct

    这篇文章介绍了C#入门之结构类型Struct,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 基于C#的抽象类别详解

    基于C#的抽象类别详解

    下面小编就为大家分享一篇基于C#的抽象类别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#的编码规范详细说明

    C#的编码规范详细说明

    编码规范是老生常谈的问题,现在再看代码规范可能不会再去在意变量,控件的命名方法等,而是更加关注代码的实用性
    2013-08-08
  • C#中值类型和引用类型的区别深度分析

    C#中值类型和引用类型的区别深度分析

    这篇文章主要介绍了C#中值类型和引用类型的区别深度分析,以通俗易懂的语言形象化的分析了C#中值类型和引用类型的区别,对于深入理解C#数据类型有着不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • C#实现多文件压缩与解压功能

    C#实现多文件压缩与解压功能

    这篇文章主要为大家详细介绍了如何利用C#语言实现多文件压缩与解压功能,即选择多个文件压缩成ZIP文件和解压ZIP文件,需要的可以参考一下
    2022-08-08
  • 浅谈c#中const与readonly区别

    浅谈c#中const与readonly区别

    C#引入了readonly修饰符来表示只读域,const来表示不变常量。顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?
    2015-06-06
  • C# 使用Fluent API 创建自己的DSL(推荐)

    C# 使用Fluent API 创建自己的DSL(推荐)

    DSL领域专用语言是描述特定领域问题的语言,听起来很唬人,其实不是什么高深的东西,下面通过实例代码介绍下C# 使用Fluent API 创建自己的DSL,感兴趣的朋友参考下吧
    2021-12-12
  • C# 执行CMD命令并接收返回结果的操作方式

    C# 执行CMD命令并接收返回结果的操作方式

    这篇文章主要介绍了C# 执行CMD命令并接收返回结果的操作方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Unity2021发布WebGL与网页交互问题的解决

    Unity2021发布WebGL与网页交互问题的解决

    本文主要介绍了Unity2021发布WebGL与网页交互问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05

最新评论