博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库
阅读量:7014 次
发布时间:2019-06-28

本文共 2955 字,大约阅读时间需要 9 分钟。

1、 Interop.Excel.dll 的查找

本文中将 Microsoft.Office.Interop.Excel.dll库简称为Interop.Excel.dll库

其实在使用Visual Studio进行Office的Excel开发时,Microsoft.Office.Interop.Excel.dll 可以在类似于下面的目录中找到。并不需要再在网上下载了。

E:\Program Files\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office14

 

2、Interop.Excel.dll 中类的介绍

ApplicationClass

就是我们的excel应用程序

Workbook

就是我们平常见的一个个excel文件,经常是使用Workbooks类对其进行操作。

Worksheet

excel文件中的一个个sheet页。

Worksheet.Cells[row, column]

就是某行某列的单元格,注意这里的下标row和column都是从1开始的,跟我平常用的数组或集合的下标有所不同。

3、对Excel的操作

3.1 打开Excel文件、释放资源

任何操作Excel的动作首先肯定是用excel应用程序,首先要new一个ApplicationClass 实例,并在最后将此实例释放。

1
2
3
4
5
6
// 创建Excel应用程序对象的一个实例,相当于我们从开始菜单打开Excel应用程序。
ApplicationClass xlsApp = 
new 
ApplicationClass();
if 
(xlsApp == 
null
)
{
//对此实例进行验证,如果为null则表示运行此代码的机器可能未安装Excel
}

打开Excel文件

1
2
3
Workbook workbook = xlsApp.Workbooks.Open(excelFilePath, 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);
Worksheet mySheet = workbook.Sheets[1] 
as 
Worksheet; 
//第一个sheet页
mySheet.Name = 
"testsheet"
//这里修改sheet名称

释放打开的资源

1
2
3
4
workbook.Close(
true
, Type.Missing, Type.Missing);
workbook = 
null
;
xlsApp.Quit();
xlsApp = 
null
;

3.2 对Sheet(页)的操作

复制sheet页

1
mySheet.Copy(Type.Missing, workbook.Sheets[1]); 
//复制mySheet成一个新的sheet页,复制完后的名称是mySheet页名称后加一个(2),这里就是testsheet(2),

复制完后,Worksheet的数量增加一个。注意,这里Copy方法的两个参数,指是的复制出来新的sheet页是在指定sheet页的前面还是后面,上面的例子就是指复制的sheet页在第一个sheet页的后面。 

删除sheet页

1
2
xlsApp.DisplayAlerts = 
false
//如果想删除某个sheet页,首先要将此项设为fasle。
(xlsApp.ActiveWorkbook.Sheets[1] 
as 
Worksheet).Delete();

 选中sheet页

(xlsApp.ActiveWorkbook.Sheets[1] as Worksheet).Select(Type.Missing); //选中某个sheet页

3.3 对Excel文件的操作

另存excel文件

1
2
workbook.Saved = 
true
;
workbook.SaveCopyAs(filepath);

 

3.4 其它常用功能

传入一个DataTable生成Excel

 
View Code

在excel中插入图片,可以在上面的代码环境的最后加入以下代码段。

1
2
3
4
// 在Excel的指定位置加入图片
worksheet.Shapes.AddPicture(
"C:\\Users\\spring\\Desktop\\1.gif"
, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 100, 200, 200, 300);
// 在Excel的指定位置加入文本框,和里面的内容.
worksheet.Shapes.AddTextEffect(Microsoft.Office.Core.MsoPresetTextEffect.msoTextEffect1, 
"123456"
"Red"
, 15, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, 150, 200);

 对以上代码的调用

1
2
3
4
5
6
7
8
9
10
11
12
public 
void 
GenerateExcel()
{
    
DataTable dt = 
new 
DataTable();
    
dt.Columns.Add(
"Name"
typeof
(
string
));
    
dt.Columns.Add(
"Age"
typeof
(
string
));
    
DataRow dr = dt.NewRow();
    
dr[
"Name"
] = 
"spring"
;
    
dr[
"Age"
] = 
"20"
;
    
dt.Rows.Add(dr);
    
dt.AcceptChanges();
    
ExportExcel(dt);
}

 

4、系统性

创建一个ExcelBE类

 
View Code

接下来设计一个Excel 操作的基类ExcelBase

 
View Code

对其的调用方式

 
View Code

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5786241.html
,如需转载请自行联系原作者
你可能感兴趣的文章
云计算成增收引擎,营收创上市以来新高
查看>>
PHP 常用的header头部定义汇总
查看>>
Java heap space 解决方法
查看>>
通过注册表开通关闭局域网共享
查看>>
Asp.net 导入导出Excel
查看>>
Oracle 10.2.0.4(5)EM不能启动的解决方案
查看>>
AngularJS—— 独立作用域
查看>>
Web开发(初级)- CSS基础
查看>>
linux命令行编辑快捷键
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
(转)IntelliJ IDEA 使用JSTL标签库(IDEA 加载 tld文件)
查看>>
AndroidStudio开发工具快捷键整理分享
查看>>
Perl常用的预定义变量
查看>>
C++引用的学习
查看>>
4-通过java调用libsvm
查看>>
萨班斯-奥克斯利法案 (SOX) 特权账号管理
查看>>
this的使用
查看>>
统计之 - 方差分析(ANOVA)
查看>>
MySQL参数优化及基础操作
查看>>