基于OleDb的Excel数据访问
比较以下两个连接字符串:
1)string connectionStr = string.Format("provider=Microsoft.Jet.OLEDB.4.0;data source={0};Extended Properties='Excel 8.0;HDR=NO;IMEX=1'", filePath);
2)string connectionStr = string.Format("provider=Microsoft.Jet.OLEDB.4.0;data source={0};Extended Properties=Excel 8.0;", filePath);
默认情况下,系统认为 Excel 数据源的第一行包含可用作字段名的列标题。如果不是这种情况,则必须
将该设置关闭,否则,第一行数据将会“消失”,而被用作字段名称。这可通过向连接字符串的扩展属性
添加可选的 HDR= 设置来完成。默认情况下(无需指定)是 HDR=Yes。如果没有列标题,则需要指定
HDR=No;提供程序将字段命名为 F1、F2 等等。因为扩展属性字符串现在包含了多个值,所以必须用引号
单独包起来(注意字符串中标为红色的部分)。
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace OledbExcel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string filePath = "Test.xls";
string connectionStr = string.Format("provider=Microsoft.Jet.OLEDB.4.0;data source={0};Extended Properties='Excel 8.0;HDR=NO;IMEX=1'", filePath);
string commandText = "select * from [Sheet1$]";
OleDbConnection con = new OleDbConnection(connectionStr);
OleDbCommand cmd = new OleDbCommand(commandText, con);
DataTable dt = new DataTable("ExcelInfo");
try
{
con.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(dt);
}
catch(Exception ex)
{
dt = null;
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
this.dataGridView.DataSource = dt;
this.dataGridView.Update();
}
}
}
参考:http://www.cnblogs.com/mczhu/archive/2008/07/17/1244978.html
转载于:https://www.cnblogs.com/devilmsg/archive/2008/10/26/1319849.html
基于OleDb的Excel数据访问相关推荐
- matlab对exl数据分析,基于MATLAB的EXCEL数据计算与分析
基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识.结合本人近期工作上的需要测量计算,想偷懒就选择了利用M ...
- C#实战028:OleDb操作-Excel数据写入
前面写了C#实战021:OleDb操作-新增Excel中的sheet工作表,接下来我们就要在新增的表中添加数据了,在网上找了很多方法,都没有OleDb对excel表操作批量操作,后来通过对mysql的 ...
- 基于delphi的excel数据导入导出
因为淘宝客户的一个小需求,写了一个"基于delphi 7的excel数据导入导出"小工具.为了抛砖引玉,将这个小工具分享出来.希望对初学者和用得到的朋友有点点小小的帮助.oracl ...
- 基于存储过程的可扩展性数据访问框架
步骤一. Web.config <connectionStrings> <add name="conn" connectionString="Data ...
- excel oledb mysql_C#实战023:OleDb操作-Excel数据写入
这样我们就需要在对应的列表中写入循环就可以将数据一列列的写入到Excel表中了. 由于OleDb操作对Excel的控制性不高,所以要想把表格属性也控制好,这时候我们可以结合Excel组件来帮助我们完成 ...
- C# OleDb读取Excel数据
using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...
- 基于NPOI的Excel数据导入
从Excel导入数据最令人头疼的是数据格式的兼容性,特别是日期类型的兼容性.为了能够无脑导入日期,折腾了一天的NPOI.在经过测试确实可以导入任意格式的合法日期后,写下这篇小文,与大家共享.完整代码请 ...
- 关于OLEDB导入Excel数据,产生科学计数法问题
连接字符串中IMEX=1 就可以 "Provider=Microsoft.ACE.OleDb.12.0;Data Source=" + FileName + ";Exte ...
- Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)
DOM4J解析XML文件 dom4j是一个Java的XML API,是jdom的升级产品,用来读写XML文件.另外对比其他API读写XML文件,dom4j是一个十分优秀的JavaXML API,具有性 ...
最新文章
- 【c语言】求最大公约数
- 第四讲 Python3中的int型和浮点型
- [学习笔记]后缀自动机
- nodejs对mongodb数据库的增删改查操作(转载)
- 2.2 清除标注错误的数据
- 多么痛的领悟!差不多2015年的时候,我开始关注股票
- API文档自动生成,Swagger的配置
- 吞吐量越大越好吗_家用中央空调匹数越大越好吗?
- [渝粤教育] 西南石油大学 钻井与完井工程 参考 资料
- C语言4位BCD码加法器,四位二进制BCD码加法器.doc
- 360漏洞修复的提取
- [转帖]16nm国内最先进 兆芯展示x86 KX-6000八核处理器
- spring boot之Spring Mvc开发和常用注解说明
- 修改Echarts源码实现柱状图的炫彩闪烁效果
- 作为潮汕人你了解肠粉么 附带家常肠粉做法
- Numpy+Pandas+Matplotlib学习
- terminate called without an active exception错误分析
- 下连队锻炼(5)----抗洪
- JS如何利用阻塞机制实现停留几秒sleep
- python爬虫成长之路(一):抓取证券之星的股票数据