C#如何在WinForm中打開Excel文件,或打開Excel應(yīng)用顯示數(shù)據(jù)
一、如何在WinForm中打開Excel文件
步驟:
1、添加引用“Miscrosoft Excel 16.0 Object Library”,并導(dǎo)出命名空間:
using Microsoft.Office.Core; using Excel = Microsoft.Office.Interop.Excel;
2、創(chuàng)建Excel應(yīng)用對象,并獲取Workbook對象,和Worksheet對象。
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook worksBook = ExcelApp.Workbooks.Add(); //創(chuàng)建一個新工作簿
//也可以添加進來一個已存在的工作簿
//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應(yīng)用展現(xiàn)出來!
excelApp.Visible = true;
二、打開Excel文件的代碼詳解
ExcelApp.Workbooks.Add(); 方法,新建一個工作表。 新工作表將成為活動工作表。()中有一個可選參數(shù),類型為object,
如果此參數(shù)為指定現(xiàn)有 Microsoft Excel 文件名的字符串,那么創(chuàng)建新工作簿將以該指定的文件作為模板。
如果此參數(shù)為常量,新工作簿將包含一個指定類型的工作表。
此參數(shù)可以是以下 XlWBATemplate 常量之一:xlWBATChart、xlWBATExcel4IntlMacroSheet、xlWBATExcel4MacroSheet 或 xlWBATWorksheet。
- xlWBATChart -4109 圖表。
- xlWBATExcel4IntlMacroSheet 4 Excel 版本 4 宏。
- xlWBATExcel4MacroSheet 3 Excel 版本 4 國際宏。
- xlWBATWorksheet -4167 工作表。
在打開Excel文件的時候,可以設(shè)置一些workSheet的屬性,如下:
workSheet.Name = "測試Sheet1"; //工作表的名稱 workSheet.Cells.WrapText = true; //設(shè)置所有列的文本自動換行 workSheet.Cells.EntireRow.AutoFit(); //設(shè)置所有列自動調(diào)整行高
三、如何向Excel中插入數(shù)據(jù)
在獲取到Worksheet對象后,我們就可以向表格中插入數(shù)據(jù)了。
實例代碼如下:
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對象,表示連續(xù)的多個單元格。
四、如何設(shè)置Excel里的單元格格式
設(shè)置單元格格式的方式如下:
range.Merge(0); //合并方法,0的時候直接合并為一個單元格 range.Font.Size = 16; //字體大小 range.Font.Name = "黑體"; //字體 range.WrapText = true; //文本自動換行 range.EntireRow.AutoFit(); //自動調(diào)整行高 range.RowHeight = 20; //自定義設(shè)置行高 range.EntireColumn.AutoFit(); //自動調(diào)整列寬 range.ColumnWidth = 15; //自定義設(shè)置列寬 range.HorizontalAlignment = XlVAlign.xlVAlignCenter; //橫向居中 range.Value = strText; //合并單元格之后,設(shè)置其中的文本 range.Interior.ColorIndex = 20; //填充顏色 range.Cells.Borders.LineStyle = 1; //設(shè)置單元格邊框的粗細(xì)
range可以是一個單元格,也可以是多個單元格的集合。
XlVAlign是一個枚舉類,用來表示單元格內(nèi)值的對齊方式。其內(nèi)部有5個枚舉值,含義分別如下
xlVAlignBottom = -4107, //底端對齊 xlVAlignCenter = -4108, //居中對齊 xlVAlignDistributed = -4117, //分散對齊 xlVAlignJustify = -4130, //兩端對齊 xlVAlignTop = -4160 //頂端對齊
五、如何設(shè)置Excel里的頁面格式
workSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA4; //紙張大小 workSheet.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape; //頁面橫向 workSheet.PageSetup.Zoom = 75; //打印時頁面設(shè)置,縮放比例百分之幾 workSheet.PageSetup.Zoom = false; //打印時頁面設(shè)置,必須設(shè)置為false,頁高,頁寬才有效 workSheet.PageSetup.FitToPagesWide = 1; //設(shè)置頁面縮放的頁寬為1頁寬 workSheet.PageSetup.FitToPagesTall = false; //設(shè)置頁面縮放的頁高自動 workSheet.PageSetup.LeftHeader = "Nigel"; //頁面左上邊的標(biāo)志 workSheet.PageSetup.CenterFooter = "第 &P 頁,共 &N 頁"; //頁面下標(biāo) workSheet.PageSetup.PrintGridlines = true; //打印單元格網(wǎng)線 workSheet.PageSetup.TopMargin = 1.5 / 0.035; //上邊距為2cm(轉(zhuǎn)換為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; //文字水平居中
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#實現(xiàn)快速將數(shù)據(jù)寫入Excel單元格
這篇文章主要為大家詳細(xì)介紹了如何使用C#實現(xiàn)快速將數(shù)據(jù)寫入Excel單元格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

