Visual Studio 进行Excel相关开发,Microsoft.Office.Interop.Excel.dll库

简介:





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 ,如需转载请自行联系原作者


相关文章
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
768 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
655 6
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
588 1
|
数据格式 UED
记录一次NPOI库导出Excel遇到的小问题解决方案
【11月更文挑战第16天】本文记录了使用 NPOI 库导出 Excel 过程中遇到的三个主要问题及其解决方案:单元格数据格式错误、日期格式不正确以及合并单元格边框缺失。通过自定义单元格样式、设置数据格式和手动添加边框,有效解决了这些问题,提升了导出文件的质量和用户体验。
1112 3
|
Java API Apache
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
450 2
|
前端开发 JavaScript C#
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
464 0
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
1090 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。

热门文章

最新文章

下一篇
开通oss服务