NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别

来源:互联网 发布:miss淘宝店外设店网址 编辑:程序博客网 时间:2024/05/08 06:08
出处:http://hi.baidu.com/st_heping/blog/item/d589e7225acbcd589822ed12.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