如果你新建一个项目的话,首先要添加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. android调节屏幕亮度

    一:只改变当前程序android屏幕亮度(1)方法:lp.screenBrightness 取值 0.0 -- 1.0 ※设定值(float)的范围,默认小于 0(系统设定).0.0(暗)-1.0(亮 ...

  2. 安卓解析 json 4种格式 全解析

    总共4种json  ,    还提供了 httclient  和 httpurlconnection 2种方式获取json的方法(请把baseurl 改为可以地址比如http://www.sohu.c ...

  3. extjs fileuploadfield default value

    网上有非常多fileupload的demo,最有用的还是官方doc里面的sample. 可是真实业务中.可能会用到改动功能.这个时候就须要在打开的时候,给input框赋初始值. How to give ...

  4. Python 列表 remove() 方法

    描述 Python 列表 remove() 方法通过指定元素的值来移除列表中某个元素的第一个匹配项,如果这个元素不在列表中会报一个异常. 语法 remove() 方法语法: L.remove(obj) ...

  5. Js 常用函数【持续更新】

    Js Math对象方法介绍:http://www.w3school.com.cn/jsref/jsref_obj_math.asp 1. 算数函数(Math) 1)Js小数取整 常用于:分页算法 js ...

  6. 为什么easyui的datagrid里getSelections还有getChecked只能获取一行值呢?

    http://jquery-easyui.wikidot.com/forum/t-280470 如果没有 idField属性,getSelections就只能获取一个行的值了 注意:如果用了前面说的& ...

  7. Untrusted 游戏 通关攻略

    这个游戏还不错,用了两个晚上的时间通过并写下解法.这个游戏通过修改JS代码来通关的游戏.很考验玩家的解决问题能力,同时也有一定的可玩性. 游戏地址 http://alexnisnevich.githu ...

  8. CCEaseElasticOut调整速度和振幅

    pSprite->setAnchorPoint(CCPoint(,)); pSprite->setPosition(CCPoint(,)); CCFiniteTimeAction* pAc ...

  9. CCProgressTo和CCProgressTimer

    在cocos2d中同样提供了很多表现图片和精灵的方式,上一篇当中提到的切换场景的方式之一是顺或逆时针切入的方法,在图片上也可以使用,test里有一个例子介绍CCProgressTimer可以实现一些图 ...

  10. web 安全问题(二):XSS攻击

    上文说完了CSRF攻击,本文继续研究它的兄弟XSS攻击. 什么是XSS攻击 XSS攻击的原理 XSS攻击的方法 XSS攻击防御的手段 什么是XSS攻击 XSS攻击全名(Cross-Site-Scrip ...