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。)

NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别的更多相关文章

  1. 如何在没有安装微软Excel环境下操作Excel文件?

    在以前接触的项目中,由于很多客户对微软Excel的操作比较熟练,客户经常要求系统支持对Excel文件的读写.用.NET传统方法对Excel进行读写时,往往会涉及到不同版本兼容的问题,导致在本地测试一切 ...

  2. 第7课:sql注入、操作session、cookie实例、网络编程、操作Excel

    1. 简单讲一些sql注入的内容 name = 'zdq' sex = '女' cur.execute("select * from bt_stu where real_name='%s'& ...

  3. Android平台下OpenGL图形编程

    ref: Jayway Team Blog中OpenGL ES简明开发教程https://blog.jayway.com/tag/opengl-es/ OpenGL ES 开发教程http://www ...

  4. vbs 之 excel 使用VBScript 操作excel

    打开excel及新建工作薄 '' 2. Method ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 2.1 CreateO ...

  5. Chimm.Excel —— 使用Java 操作 excel 模板文件生成 excel 文档

    Chimm.Excel -- 设置模板,填充数据,就完事儿了~ _____ _ _ _____ _ / __ \ | (_) | ___| | | | / \/ |__ _ _ __ ___ _ __ ...

  6. 【Python自动化Excel】pandas操作Excel的“分分合合”

    话说Excel数据表,分久必合.合久必分.Excel数据表的"分"与"合"是日常办公中常见的操作.手动操作并不困难,但数据量大了之后,重复性操作往往会令人崩溃. ...

  7. autoit 使用excel自带函数操作excel

    Looking into the includes <Excel.au3> helped shed some light on things. To summarize what I've ...

  8. Python之操作Excel、异常处理、网络编程

    知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) ...

  9. C#操作Excel文件(转)

    摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化 ...

随机推荐

  1. Unity3d 随机地图生成

    2D解析图: 3D地形: 嘿嘿.

  2. java敏感词过滤

    敏感词过滤在网站开发必不可少.一般用DFA,这种比较好的算法实现的. 参考链接:http://cmsblogs.com/?p=1031 一个比较好的代码实现: import java.io.IOExc ...

  3. COJ 0601&0602 动态规划(二)及加强

    未加强传送门0601:http://oj.cnuschool.org.cn/oj/home/addSolution.htm?problemID=571 加强传送门0602:http://oj.cnus ...

  4. MongoDB 任意代码执行漏洞(CVE-2013-4142)

    漏洞版本: MongoDB 2.4.0-2.4.4 漏洞描述: CVE ID:CVE-2013-4142 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种 ...

  5. 根据标点符号分行,StringBuilder的使用;将字符串的每个字符颠倒输出,Reverse的使用

    一:根据标点符号分行,上图,代码很简单 二:代码 using System; using System.Collections.Generic; using System.ComponentModel ...

  6. 关于TCP的粘包和拆包

    问题产生 一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和封包问题. 下面可以看一张图,是客户端向服务端发送包: 1. 第一种情况 ...

  7. bithrtree

    #include "stdio.h" #include "stdlib.h" #define OK 1 #define ERROR 0 typedef char ...

  8. Java多线程Thread.yield(),thread.join(), Thread.sleep(200),Object.wait(),Object.notify(),Object.notifyAll()的区别

    Thread.yield(),在某个线程里调用Thread.yield(),会使这个线程由正在运行的running状态转变为等待cpu时间片的runable状态.join()是Thread类的一个非s ...

  9. [Locked] Shortest Distance from All Buildings

    Shortest Distance from All Buildings You want to build a house on an empty land which reaches all bu ...

  10. [Locked] Number of Connected Components in an Undirected Graph

    Number of Connected Components in an Undirected Graph Given n nodes labeled from 0 to n - 1 and a li ...