.NET操作Excel表格的整理
来源:互联网 发布:c语言进阶专栏 csdn 编辑:程序博客网 时间:2024/04/29 11:41
首先需要引用一个COM引用: Microsoft Excel 11.0 Object Library. 在程序代码中添加命名空间Microsoft.Office.Interop.Excel的引用. 然后就可以跟Excel进行操作了.
基本的Excel对象
Application: 每个Application对象表示一个Excel程序, 在程序中每创建一个该对象就启动Excel程序的一个实例
Workbook: 每个Workbook对象表示一个Excel工作薄, 在同一个Excel程序中可以打开多个工作薄
Worksheet: 每个Worksheet对象表示一个Excle工作表, 在同一个Excel工作薄中可以打开多个工作表
Range: 每个Range对象表示Excel工作表上的一个区域, 该区域可以是一个单元格, 也可以是多个单元格的组合. 区域可以是连续的, 也可以是离散的
简单的代码实现对Excel的操作
private
void
button1_click(
object
sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application app1 =
new
Microsoft.Office.Interop.Excel.Application();
app1.visible =
true
;
Workbook book1 = app1.Workbooks.Add(Type.Missing);
Wroksheet sheet1 = (Worksheet)book1.Sheets[1];
Range rng1 = sheet1.get_Range(
"A1"
, Type.Missing);
rng.Value2 =
"hello"
;
}
这样点击按钮之后就会发现新建了一个Excel, 这个Excel里有一个表格, 在A1的单元格里显示文本hello.
Workbook book1 = app1.Workbooks.Add(Type.Missing);
除了Add这个方法外, 如果想打开一个已经存在的表格, 并对它进行操作, 可以使用Open方法.
获取区域值的方法, 返回的是一个Object类型的数组:
sheet1.get_Range(
"B2"
, Type.Missing);
//返回B2单元格
sheet1.get_Range(
"A1:C10"
, Type.Missing);
//返回左上角A1到右下角C10区域单元格
sheet1.get_Range(
"A1"
, "C10);
//和上一行效果一样(左上角A1到右下角C10区域单元格)
sheet1.get_Range(
"A:A"
, Type.Missing);
//返回整个A列
sheet1.get_Range(
"A:C"
, Type.Missing);
//返回A到C列
sheet1.get_Range(
"3:3"
, Type.Missing);
//返回A到C列
sheet1.get_Range(
"A1:A5, C1:C5"
, Type.Missing);
//返回两个独立的区域
除了获取一个区域的值, 获得单个单元格值的方法:
Range rng1 = (Range)sheet1.Cells[1, 1];
//获取A1单元格
Range rng2 = (Range)sheet1.Cells[3, "C];
//获取C3单元格
Range rng3 = (Range)sheet1.Cells[2, Type.Missing];
//获取B1单元格
Range对象除了Value2属性, 还有Value属性, 只有当涉及日期和货币格式才使用这个属性. 否则, 为保持程序简洁和一致性, 应该使用Value2属性.
Range对象还有个只读属性: Text, 该属性虽然是Object类型的, 但所有值类型都是按文本方式进行处理的. 所以在使用这个Text属性时, 如果已经确定这个文本的数据类型时, 可以使用Parse方法把文本转变成该数据类型. 如果不能确定, 则可以使用TryParse方法.
除此之外, Range对象中如果某个或某些单元格的值全为数字, 而我们不想按数字来处理这些值, 想把它转变成文本或是其它格式. 可以使用Range的NumberFormat属性.
操作Excel表格, 还有个专门的控件叫做SpreedSheet控件, 不过在我做东西的时候, 想把日期格式的数据正确显示在这个控件中出现了不少问题, 最后还是舍弃了使用这个控件. 最后还是选择了比较常见的DataGridView -_-
更多资料:http://support.microsoft.com/kb/302084/en-us
- .NET操作Excel表格的整理
- .NET操作Excel表格
- ASP.NET操作Excel表格
- vb.net office excel 和wps共存,创建正确的excel对象以便操作excel表格
- vb.net操作Excel表格类
- excel表格数据的操作
- C#知识整理之二:操作Excel表格
- asp.net导出excel表格的总结
- Java对Excel表格的操作
- C#操作WPS的EXCEL表格
- orders 导出 excel表格的操作
- java 操作 excel表格的方法
- VC实现对Excel表格的操作
- Java对Excel表格的操作
- winform操作excel表格的简单应用
- C++ 操作Excel表格的编程实现
- CExcelManager--操作Excel表格的类
- VC实现对Excel表格的操作
- Sublime Text 3 插件用法以及详细快捷键操作 【2014-4-18再详细更新】
- dhdfhfdgsdgsdgdsg
- 新手初学dom4j(三)
- D - Maximum Random Walk
- 《实时碰撞检测算法技术》读书笔记(八):平面与部分形体间的测试
- .NET操作Excel表格的整理
- no debugging symbols found
- Ubuntu OpenSSL & Nginx install by self
- ios 网络请求返回的data数据转string后为空
- 裸辞来深圳找工作,两周后恰好在生日这天上班(每天持续更新)
- ubuntu rc.local 为何不执行?
- linux多线程编程
- 谈谈皮具行业的营销思路!
- Joda Time介绍