.NET 读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已。
读取xlsx 用的是Microsoft.Ace.OleDb.12.0;
具体操作方法如下:
public static DataTable GetExcelToDataTableBySheet(string FileFullPath, string SheetName)
{//string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + FileFullPath + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + FileFullPath + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"; //此连接可以操作.xls与.xlsx文件OleDbConnection conn = new OleDbConnection(strConn);conn.Open();DataSet ds = new DataSet();OleDbDataAdapter odda = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", SheetName), conn);                    //("select * from [Sheet1$]", conn);odda.Fill(ds, SheetName);conn.Close();return ds.Tables[0];}读取Excel文件时,可能一个文件中会有多个Sheet,因此获取Sheet的名称是非常有用的。具体操作方法如下://根据Excel物理路径获取Excel文件中所有表名public static String[] GetExcelSheetNames(string excelFile)
{OleDbConnection objConn = null;System.Data.DataTable dt = null;try{//string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + excelFile + ";Extended Properties='Excel 8.0; HDR=NO; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + excelFile + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"; //此连接可以操作.xls与.xlsx文件objConn = new OleDbConnection(strConn);objConn.Open();dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);if (dt == null){return null;}String[] excelSheets = new String[dt.Rows.Count];int i = 0;foreach (DataRow row in dt.Rows){excelSheets[i] = row["TABLE_NAME"].ToString();i++;}return excelSheets;}catch{return null;}finally{if (objConn != null){objConn.Close();objConn.Dispose();}if (dt != null){dt.Dispose();}}
}

非常简单就可以读取到文件内容了,.NET就是强大。
命名空间:using System.IO;
返回路径:StreamReader sr = new StreamReader(@"路径", System.Text.Encoding.GetEncoding("GB18030")); //[设置中文编码]
读取文件:textBox1.Text = sr.ReadToEnd();
关闭流:sr.Close();
文章来自学IT网:http://www.xueit.com/html/2009-08/21_4340_00.html

转载于:https://www.cnblogs.com/xiaofengfeng/archive/2010/08/27/1810032.html

.Net读取xlsx文件Excel2007相关推荐

  1. java poi 读取xlsx文件_使用POI读取xlsx文件(SXSSFWorkbook)

    我正在尝试使用POI来读取大型xlsx文件的第一次测试,但要使用小文件进行简单测试,我无法显示单元格的值.使用POI读取xlsx文件(SXSSFWorkbook) 有人可以告诉我什么是我的错误.所有的 ...

  2. python怎么读xlsx_用python读取xlsx文件

    一 准备工作: 二 xlrd库读取 首先安装xlrd库,安装方法: pip install xlrd import xlrd #打开excel wb = xlrd.open_workbook('tes ...

  3. Py之Xlrd:Xlrd简介、安装、使用方法(读取xlsx文件的shee表头名/总行数/总列数、每一行的内容、指定列的内容)之详细攻略

    Py之Xlrd:Xlrd简介.安装.使用方法(读取xlsx文件的shee表头名/总行数/总列数.每一行的内容.指定列的内容)之详细攻略  导读      xlrd,xlwt和xlutils是用Pyth ...

  4. java取linux本地xml,java-使用apache poi读取.xlsx文件会在Linux机器...

    我有一个读取.xlsx文件并向用户显示内容的应用程序.该应用程序在Windows环境下运行良好. 我将此Web应用程序的.war文件部署在ubuntu服务器上的tomcat6上.我还复制了服务器上的. ...

  5. R语言中读取xlsx文件的方法

    R语言中读取xlsx文件的方法 安装包 install.packages("openxlsx") library(openxlsx) 文件名+sheet的序号 data<- ...

  6. python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件

    我正在尝试使用python打开一个excel .xlsx文件,但我无法找到办法,我尝试使用pandas但是它想要使用一个名为NumPy的库我试图安装numpy但它仍然可以找不到. 我也尝试过使用xlr ...

  7. matlab读取xlsx文件,将大Excel(xlsx)文件加载到matlab中

    我使用Windows 64bit,8GB RAM和Matlab 64bit . 我试图将.xlsx文件加载到matlab中 . 文件大小约为700MB,包含673928行和43列的工作表 . 首先,我 ...

  8. python读取xlsx文件中的日期

    因为在python中直接读取xlsx文件中的日期,而不进行额外处理的话,会读取错误--即:只能读取成浮点数,而不能以日期的格式获取. 导入xlrd 首先保证要导入xlrd,若没有,可执行下面语句下载 ...

  9. 读取xlsx文件一定范围内的内容

    新学到一个小知识,记录下 读取xlsx文件一定范围内的内容 两个方法: 1:通过cell_range读取 2:通过Cell对象读取(不推荐) ↓需要读取的是文件中的A6-A19区域,设定为value ...

最新文章

  1. go中 -strconv包的使用
  2. linux目录表及功能n鸟哥,鸟哥linux学习之-资料与目录管理
  3. 使用nextInt()等接受输入时必须注意换行符的输入
  4. oracle走当前时间分区,Oracle分区使用波斯日历的时间间隔
  5. How to manage the certificates in the PC
  6. SQLyog创建表示的bug
  7. (四)Paint函数实现QTableView中增加QCheckBox的方法
  8. Customer Group Checkout----------Red2Black_RealTidbits
  9. 0006 -求三个数的平均数
  10. scrapy爬虫框架实现简单案例:爬取阳光平台内容
  11. 使用微服务架构重构支付网关
  12. c语言stdin输入字符,scanf如何从stdin中读取数据的
  13. 如何解决win10语言栏消失变成空白问题
  14. 自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERTT5Question Answering)
  15. 二元函数凹凸性判定及最值定理
  16. 三维重建3:旋转矩阵-病态矩阵、欧拉角-万向锁、四元数
  17. 海康监控虚拟服务器设置,海康监控如何连接网络设置教程
  18. WPS:将彻底关闭广告
  19. 微信小程序(小游戏)的示例
  20. 怎么将两个pdf文件合并在一起

热门文章

  1. 前端学习(3237):react生命周期4
  2. [vue] 组件中写name选项有什么作用?
  3. [css] 使用rem的优缺点是什么?和使用百分比有什么区别?
  4. “约见”面试官系列之常见面试题第十六篇之http(建议收藏)
  5. 前端学习(1865)vue之电商管理系统电商系统之实现表单的数据绑定
  6. 前端学习(1155):常量const03
  7. 前端学习(741):通过榨汁机看透函数
  8. 玩转oracle 11g(49):监听服务设置开机自启,不用一直配置监听
  9. Qt treeWidget 查找指定字段内容的条目并跳转到该条目
  10. js计算数组中每个元素出现的次数(2种方法)