如果你新建一个项目的话,首先要添加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. OkHttp拦截器的实现原理

    今天项目中遇到需要将从push接收到的数据按照协议parse成应用层需要的结构化数据类型问题:因为push消息类型繁多,等待解析出的结构化数据类型也多样,有的还需要经过几步的parse过程:而且因为项 ...

  2. PSAPI和ToolHelpAPI学习笔记

    标 题: PSAPI学习笔记 作 者:北极星2003 时 间:2005-07-24 18:36 链 接:http://bbs.pediy.com/showthread.php?threadid=154 ...

  3. 命令行查询DELL服务器信息序列号

    Windows 获取序列号>wmic bios get serialnumber 获取机型信息>wmic csproduct get vendor,name,identifyingnumb ...

  4. python标准库介绍——3 stat 模块详解

    == stat 模块 == [Example 1-50 #eg-1-50] 展示了 ``stat`` 模块的基本用法, 这个模块包含了一些 ``os.stat`` 函数中可用的常量和测试函数. === ...

  5. ThreadLocal 类说明

    1 ThreadLocal 不是一个线程,而是保存线程本地化对象的容器.当运行于多线程环境的某个对象使用 ThreadLocal 维护变量时,ThreadLocal 为每一个使用该变量的线程分配一个独 ...

  6. cocos2dx 3.3将坐标由父空间转化到局部空间

    设在node的父空间内有一点p,要求其转化到node局部空间后的坐标p_local,代码如下: node->getNodeToParentTransform();//in order node- ...

  7. 怎么把本地的文件放到esxi主机上

    我们登录到esxi主机后 然后我们点击摘要-->存储器--->右键,浏览数据存储 创建文件夹,然后选择上传到此文件存储

  8. Mybatis(五):Mybatis的三种使用方式

    注意,这篇文章只介绍mybatis单独使用时如何操作,是没有用到spring的,如果需要了解mybatis和spring如何搭建,请移步这里Mybatis(六):spring与mybatis三种整合方 ...

  9. wxWidgets编程起步

    開始学习wxWidgets,上一篇写了"安装wxWidgets遭遇的两大关卡"(简称"前文"). 先推荐一下这两天找到的学习材料. 博客中有一个系列教程,貌似作 ...

  10. 每日英语:First Offer: Take It Or Keep Waiting?

    Anyone who has searched for a job fresh out of college knows how difficult it is to get that first j ...