如果你新建一个项目的话,首先要添加Microsoft.Office.Core 与Microsoft.Office.Interop.Exce这两个应用,然后就能很方便的操作了,示例代码(只实现了简单的读写):

1 privateExcel._Application excelApp; 
2 privateWorkbook wbclass; 
3    
4 excelApp = newExcel.Application(); 
5    
6 objectobjOpt = System.Reflection.Missing.Value; 
7                
8 wbclass = (Workbook)excelApp.Workbooks.Open("E:\Book6.xlsx", objOpt, false, objOpt, objOpt, objOpt, true, objOpt, objOpt, true, objOpt, objOpt, objOpt, objOpt, objOpt);

上面声明,引用,并把要操作的 excel 的路径传给他

得到所有的表名:

1 List<string> list = new List<string>();
2            Excel.Sheets sheets = wbclass.Worksheets;
3            string sheetNams = string.Empty;
4            foreach (Excel.Worksheet sheet in sheets)
5            {
6                list.Add(sheet.Name);
7            }

 获取某个表中的数据,这里获取的是sheet 表中的:

01 publicExcel.Worksheet GetWorksheetByName(string name) 
02         
03             Excel.Worksheet sheet = null
04             Excel.Sheets sheets = wbclass.Worksheets; 
05             foreach (Excel.Worksheet s in sheets) 
06             
07                 if(s.Name == name) 
08                 
09                     sheet = s; 
10                     break
11                 
12             
13             returnsheet; 
14         
15    
16         publicSystem.Data.DataTable GetDateTable(string name) 
17         
18             System.Data.DataTable dt = newSystem.Data.DataTable(); 
19    
20             var worksheet = GetWorksheetByName(name);      //调用上面的方法,利用表名得到这张表 
21    
22             string cellContent; 
23    
24             intiRowCount = worksheet.UsedRange.Rows.Count; 
25             intiColCount = worksheet.UsedRange.Columns.Count; 
26             Excel.Range range; 
27             for (intiRow = 1; iRow <= iRowCount; iRow++) 
28             
29                 DataRow dr = dt.NewRow(); 
30    
31                 for (intiCol = 1; iCol <= iColCount; iCol++) 
32                 
33                     range = (Excel.Range)worksheet.Cells[iRow, iCol]; 
34    
35                     cellContent = (range.Value2 == null) ? "": range.Text.ToString(); 
36    
37                     if(iRow == 1
38                     
39                         dt.Columns.Add(cellContent); 
40                     
41                     else 
42                     
43                         dr[iCol - 1] = cellContent; 
44                     
45                 
46    
47                 if(iRow != 1
48                     dt.Rows.Add(dr); 
49             
50    
51             returndt; 
52    
53         }

上面得到的只是

1 System.Data.DataTable

如何把数据取出来,请看下面:

1 var dataTable = GetDateTable("Sheet1");   //调用上面的方法 
2            
3            foreach (DataRow row indataTable.Rows) 
4            {      
5                stringa = (string)row[2]; 
6                stringb = (string)row[4]; 
7  
8 }

.NET操作Excel笔记的更多相关文章

  1. 【JAVA】使用Aphache poi操作EXCEL 笔记

    1 下载poi,地址 http://poi.apache.org/ 选择3.9版本. 2 刚开始尝试 把poi.jar放在D:\Program Files\java\jdk1.6.0_20\lib(不 ...

  2. 【PYTHON】操作excel笔记

    import xlrd book = xlrd.open_workbook('..//data//case1.xls') # 获取excel对象 print(book.sheets()) # 获取ex ...

  3. Python笔记(十四):操作excel openpyxl模块

    (一)  常遇到的情况 就我自己来说,常遇到的情况可能就下面几种: 读取excel整个sheet页的数据. 读取指定行.列的数据 往一个空白的excel文档写数据 往一个已经有数据的excel文档追加 ...

  4. python学习笔记(八)python操作Excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  5. python学习笔记(十):操作excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

  6. 09 python学习笔记-操作excel(九)

    python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...

  7. python学习笔记(十八)python操作excel

    python操作excel需要安装通过pip安装xlwt, xlrd这两个模块: pip install xlwt pip insall xlrd 操作excel ,写入excel: import x ...

  8. python学习笔记(29)-操作excel

    操作excel #存到excel里面,python去操作excel文件 #只支持这种后缀,xlsx ,openpyxl只支持这种格式 # from openpyxl import load_workb ...

  9. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

随机推荐

  1. python学习笔记011——内置函数sorted()

    1 描述 sorted() 函数对所有可迭代的对象进行排序操作. sorted() 与sort()函数之间的区别 1 排序对象 sorted:所有可迭代对象的排序 sort:list列表的排序 2 返 ...

  2. Android 加新的页面

    工程右键->New->Other->Android Activity

  3. Aixs2 使用总结,持续更新中 ...

    参考博客:http://zhangjunhd.blog.51cto.com/113473/23692     消息交换模式. 目前Axis2支持三种模式:In-Only.Robust-In和In-Ou ...

  4. 从一到面试题了解js异步机制:setTimeout 和 Pronmise

    1.毫无疑问setTimeout是最晚输出的 2.请无视undefined,这是浏览器的返回值. 3.new Promise中并不是异步,而.then()后才是异步.

  5. jenkins 构建执行jmeter测试流程

    性能测试使用maven工程说明1.依赖尽量用maven依赖管理2.添加jmeter maven依赖 <dependency> <groupId>org.apache.jmete ...

  6. 使用xshell远程登录ubuntu使用vi编辑不能使用删除键方向键

    近期安装了xshell,远程登录上ubuntu后,在插入模式下,按删除键没有任何反应,按方向键分别打印出A.B.C.D,每个字符一行. 这是因为ubuntu初始化安装的是vi的tiny版本,解决办法安 ...

  7. intellij IDEA开发node.js

    现在网上好像关于IDEA开发node.js的讲解不是太多,今天试了一下,竟然成功了.... 1.安装nodejs http://nodejs.org/download/  自动根据系统下载自己的版本n ...

  8. 分享二:架构设计分享一:关于API分布式服务提供方式

    一:基于HTTP协议的Web API 1:RESTful API http://www.ruanyifeng.com/blog/2011/09/restful 二:

  9. ps减去图层混合模式

    ps减去图层混合模式 CMYK 1.1.青色作为基色,品红作为混合色(减去混合模式) 红反即青色(绿色+蓝色) - 绿反即品红色(红色+蓝色)= 绿色   公式简化: 绿色 + 蓝色 - 红色 - 蓝 ...

  10. Bash编程的test和条件语句

    1.if语句一句条件判断结果选择执行路径.最简单的if-then句型: if command //如果command的退出状态为0,执行body then body fi 重点:if认为command ...