C#如何在WinForm中打开Excel文件,或打开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; //文字水平居中
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
最新评论