如果你新建一个项目的话,首先要添加Microsoft.Office.Core 与Microsoft.Office.Interop.Exce这两个应用,然后就能很方便的操作了,示例代码(只实现了简单的读写):
1 |
privateExcel._Application excelApp; |
2 |
privateWorkbook wbclass; |
4 |
excelApp = newExcel.Application(); |
6 |
objectobjOpt = System.Reflection.Missing.Value; |
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) |
获取某个表中的数据,这里获取的是sheet 表中的:
01 |
publicExcel.Worksheet GetWorksheetByName(string name) |
03 |
Excel.Worksheet sheet = null; |
04 |
Excel.Sheets sheets = wbclass.Worksheets; |
05 |
foreach (Excel.Worksheet s in sheets) |
16 |
publicSystem.Data.DataTable GetDateTable(string name) |
18 |
System.Data.DataTable dt = newSystem.Data.DataTable(); |
20 |
var worksheet = GetWorksheetByName(name); //调用上面的方法,利用表名得到这张表 |
24 |
intiRowCount = worksheet.UsedRange.Rows.Count; |
25 |
intiColCount = worksheet.UsedRange.Columns.Count; |
27 |
for (intiRow = 1; iRow <= iRowCount; iRow++) |
29 |
DataRow dr = dt.NewRow(); |
31 |
for (intiCol = 1; iCol <= iColCount; iCol++) |
33 |
range = (Excel.Range)worksheet.Cells[iRow, iCol]; |
35 |
cellContent = (range.Value2 == null) ? "": range.Text.ToString(); |
39 |
dt.Columns.Add(cellContent); |
43 |
dr[iCol - 1] = cellContent; |
上面得到的只是
如何把数据取出来,请看下面:
1 |
var dataTable = GetDateTable("Sheet1"); //调用上面的方法 |
3 |
foreach (DataRow row indataTable.Rows) |
5 |
stringa = (string)row[2]; |
6 |
stringb = (string)row[4]; |
- 【JAVA】使用Aphache poi操作EXCEL 笔记
1 下载poi,地址 http://poi.apache.org/ 选择3.9版本. 2 刚开始尝试 把poi.jar放在D:\Program Files\java\jdk1.6.0_20\lib(不 ...
- 【PYTHON】操作excel笔记
import xlrd book = xlrd.open_workbook('..//data//case1.xls') # 获取excel对象 print(book.sheets()) # 获取ex ...
- Python笔记(十四):操作excel openpyxl模块
(一) 常遇到的情况 就我自己来说,常遇到的情况可能就下面几种: 读取excel整个sheet页的数据. 读取指定行.列的数据 往一个空白的excel文档写数据 往一个已经有数据的excel文档追加 ...
- python学习笔记(八)python操作Excel
一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...
- python学习笔记(十):操作excel
一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...
- 09 python学习笔记-操作excel(九)
python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...
- python学习笔记(十八)python操作excel
python操作excel需要安装通过pip安装xlwt, xlrd这两个模块: pip install xlwt pip insall xlrd 操作excel ,写入excel: import x ...
- python学习笔记(29)-操作excel
操作excel #存到excel里面,python去操作excel文件 #只支持这种后缀,xlsx ,openpyxl只支持这种格式 # from openpyxl import load_workb ...
- 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)
很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...
随机推荐
- Python find() 方法
描述 Python find() 方法从字符串中找出某个子字符串第一个匹配项的索引位置,该方法与index() 方法一样,只不过如果子字符串不在字符串中不会报异常,而是返回-1. 语法 find() ...
- Unity3D中组件事件函数的运行顺序
事件函数的运行顺序 Unity 脚本中有很多按预设顺序以脚本身份执行的事件函数. 其执行顺序例如以下: 载入第一个场景 启动场景时调用这些函数(为场景中的每一个对象调用一次). Awake: 始终在调 ...
- 从jar包中读取资源
package myspider; import java.io.UnsupportedEncodingException; /** * * @author mark */ public class ...
- django1.8高级视图和URL配置读书笔记
一.在url配置中可以通过导入视图函数来将url模式和对应的函数对象进行映射,也可以通过字符串的形式进行映射.字符串包含应当是模块名.函数名的组合例如: 之前: from mysite import ...
- 怎么使用 ab.exe 测试多个url。 how to use ab.exe test many url
from a commandline in windows: for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q I ...
- angular.js ng-repeat动态插入删除dom节点
既然上面提到 angular.js 下无需用户直接操作dom ,而是在编译间断 dom 与 控制层model 实现了双向绑定,一方做出改变,另一方就会立即改变,那问题来了,我想插入一个文本框和按钮,并 ...
- Android开发之控制摄像头拍照
如今的手机一般都会提供相机功能,有些相机的镜头甚至支持1300万以上像素,有些甚至支持独立对焦.光学变焦这些仅仅有单反才有的功能,甚至有些手机直接宣传能够拍到星星.能够说手机已经变成了专业数码相机.为 ...
- GOKit全缓动类型gif列表
1.Linear 2.BackIn 3.BackInOut 4.BackOut 5.BounceIn 6.BounceInOut 7.BounceOut 8.CircIn 9.CircInOut 10 ...
- kindle paperwhite3 连不上WIFI解决方法
确定能连接上其它的设备比如手机.如果是密码没错,路由器也正常,但是你还是连接不上,那就跟我之前遇到一样了.你先让你的kpw连接一次,不要动,再检查下你路由器连接的客户端列表(我的是在DHCP服务器一栏 ...
- 【Android】11.6 Fragments基本用法示例
分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 该例子演示了如何使用两个fragment创建双区域布局的activity(纵向和横向).在这个activity包含 ...