Microsoft.Office.Interop.Excel的用法

来源:互联网 发布:天刀真武男性捏脸数据 编辑:程序博客网 时间:2024/05/22 13:14


1)ApplicationClass ExcelApp = New ApplicationClass();

2) 更改 Excel 标题栏: 

ExcelApp.Caption := '应用程序调用 Microsoft Excel'; 

3) 添加新工作簿: 

ExcelApp.WorkBooks.Add; 

4) 打开已存在的工作簿: 

 ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' ); 

5) 设置第2个工作表为活动工作表: 

ExcelApp.WorkSheets[2].Activate; 或 

 ExcelApp.WorksSheets[ 'Sheet2' ].Activate; 

6) 给单元格赋值: 

 ExcelApp.Cells[1,4].Value := '第一行第四列'; 

7) 设置指定列的宽度(单位:字符个数),以第一列为例: 

 ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5; 

8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: 

 ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米 

9) 在第8行之前插入分页符: 

 ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1; 

10) 在第8列之前删除分页符: 

ExcelApp.ActiveSheet.Columns[4].PageBreak := 0; 

11) 指定边框线宽度: 

 ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 

1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / ) 

12) 清除第一行第四列单元格公式: 

ExcelApp.ActiveSheet.Cells[1,4].ClearContents; 

13) 设置第一行字体属性: 

ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书'; 

 ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue; 

 ExcelApp.ActiveSheet.Rows[1].Font.Bold := True; 

ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True; 

14) 进行页面设置: 

a.页眉: 

ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示'; 

b.页脚: 

ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页'; 

c.页眉到顶端边距2cm: 

ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; 

d.页脚到底端边距3cm: 

 ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; 

 e.顶边距2cm: 

ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035; 

 f.底边距2cm: 

 ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035; 

 g.左边距2cm: 

 ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035; 

 h.右边距2cm: 

 ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035; 

 i.页面水平居中: 

 ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; 

j.页面垂直居中: 

ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035; 

k.打印单元格网线: 

 ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True; 

15) 拷贝操作: 

a.拷贝整个工作表: 

 ExcelApp.ActiveSheet.Used.Range.Copy; 

 b.拷贝指定区域: 

 ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy; 

 c.从A1位置开始粘贴: 

 ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial; 

 d.从文件尾部开始粘贴: 

 ExcelApp.ActiveSheet.Range.PasteSpecial;

16) 插入一行或一列: 

a. ExcelApp.ActiveSheet.Rows[2].Insert; 

 b. ExcelApp.ActiveSheet.Columns[1].Insert; 

17) 删除一行或一列: 

 a. ExcelApp.ActiveSheet.Rows[2].Delete; 

 b. ExcelApp.ActiveSheet.Columns[1].Delete; 

18) 打印预览工作表: 

 ExcelApp.ActiveSheet.PrintPreview; 

19) 打印输出工作表: 

 ExcelApp.ActiveSheet.PrintOut; 

20) 工作表保存: 

 if not ExcelApp.ActiveWorkBook.Saved then 

 ExcelApp.ActiveSheet.PrintPreview; 

21) 工作表另存为: 

ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' ); 

22) 放弃存盘: 

ExcelApp.ActiveWorkBook.Saved := True; 

23) 关闭工作簿: 

 ExcelApp.WorkBooks.Close; 

24) 退出 Excel: 

 ExcelApp.Quit;

原博客地址http://blog.sina.com.cn/s/blog_7725bc930100ufot.html


.NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别
1. Interop含义
Interop是互操作的含义。
Microsoft.Office.Interop.Excel.dll 是 Excel COM的.NET封装。
.NET code通过这些被重新封装的COM来操作Excel。


2. 基础环境
在运行环境中必须安装Office,否则即使有Microsoft.Office.Interop.Excel.dll也无法用.NET code来操作Excel。
当然,有些工具可以在没有安装Office的情况下操作Excel,比如GemBox.ExcelLite。但是,这些工具一般都要收费。(这些工具的原理是:使用Office文档的开放规范来直接生成Office文档。)


3. Application和ApplicationClass的联系和区别
Application和ApplicationClass都继承自接口_Application。
Application为接口。ApplicationClass为类。
Application和ApplicationClass所拥有的属性、方法基本相同,但是也有一些小的差别。


比如:ApplicationClass有一个方法:OpenText;而Application却没有这个方法。通过这个方法,可以直接操作Excel去打开用分隔符分割的.txt文件。(注意,是.txt文件而不是.csv文件。)


4. 代码实例
命名空间:Microsoft.Office.Interop.Excel


a. 创建Excel实例
Application excel = new Application();


b. 打开已有的一个workbook
Workbook workbook = excel.Workbooks.Open(FilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);


c. 打开已有的一个worksheet
Worksheet worksheet = (Worksheet)workbook.Worksheets[1]; (打开第一张worksheet。)


d. 选取一整列
Range column = ((Range)worksheet.Cells[1, 1]).EntireColumn;(选取A列;方法:先选取A1单元格,然后选取A1单元格所在的这一整列。)


e. 改变单元格的格式
column.NumberFormat = "@";(将d中选取的一整列的格式设置成General。)




0 0
原创粉丝点击