ADO读取EXCEL
窗体上拖放ADOQuery1,DataSetProvider1,DataSource1,ClientDataSet1,OpenDialog1,
ExcelApplication1,ExcelWorkbook1,ExcelWorksheet1控件。
Function TForm1.ADOOpenExls:Boolean;
var
connstr,FirstSheetName: String;
begin
// ADO读取EXCEL文件方法.
Result := False;
DataSetProvider1.DataSet := ADOQuery1;
DataSource1.DataSet := ClientDataSet1;
try
OpenDialog1.Filter := 'Excel文档(*.xlsx)|*.xlsx|Excel文档(*.xls)|*.xls';
OpenDialog1.InitialDir := 'C:\';
OpenDialog1.Title := '选择导入Excel文件' ;
OpenDialog1.DefaultExt := 'xlsx';
if OpenDialog1.Execute then
begin
ExcelApplication1.Connect;
ExcelApplication1.Caption := 'App Import Excel';
ExcelApplication1.Workbooks.Open(OpenDialog1.FileName,False,
False,EmptyParam,EmptyParam,EmptyParam,True,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets[1] as _WorkSheet);
//EXCEL文件的第一个SHEET表单名称.
FirstSheetName := ExcelWorksheet1.Name;
//关闭Excel文件.
ExcelWorkbook1.Close;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
with ADOQuery1 do
begin
Close;
connstr := 'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;'
+'Data Source=%s;Persist Security Info=False;';
connstr := Format(connstr, [OpenDialog1.FileName]);
ConnectionString := connstr;
SQL.Clear;
//Sheet名称后缀必须添加$.
SQL.Add(Format('SELECT * FROM [%s$]',[FirstSheetName]));
Open;
ClientDataSet1.Close;
ClientDataSet1.Fields.Clear;
ClientDataSet1.Data := DataSetProvider1.Data;
Close;
{
cxGrid1DBTableView1.DataController.DataSource := DataSource1;
cxGrid1DBTableView1.ClearItems; //在GRID中展示数据.
cxGrid1DBTableView1.DataController.CreateAllItems(True);
cxGrid1DBTableView1.ApplyBestFit();
}
Result := True;
end;
end;
except
ON E :Exception do
begin
ADOQuery1.Close;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
ShowMessage(E.Message);
end;
end;
end;
ADO读取EXCEL的更多相关文章
- ADO.NET 读取Excel文件,并作数据源
项目中需要用的功能,贴上代码了. 需要注意的地方:配置Web.config的时候要注意版本问题! //若是在Web.config中配置数据源,如下 <add key="ExcelCon ...
- .Net读取Excel文件时丢失数据的问题 (转载)
相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES; ...
- ado.net excel 模版
ado.net excel 模版 private static void Excute() { while (true) { ...
- NPOI读取Excel数据应用
NPOI 是 POI 项目的 .NET 版本.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它 ...
- C#中Form窗体中读取EXCEL的数据
使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可 首先引用Microsoft.EXEL 代码如下: using System; using System.Colle ...
- 基于.NET的程序读取Excel文件的解决方案
目录 0. 前言 1. 使用NPOI库读取Excel文件 2. 使用OleDbConnection 3. 相关参考 shanzm-2020年12月8日 23:48:11 0. 前言 以前基于 .NET ...
- java的poi技术读取Excel数据到MySQL
这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...
- C#读取Excel,或者多个excel表,返回dataset
把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...
随机推荐
- PHP经验——获得PHP版本信息及版本比较
原文:PHP经验--获得PHP版本信息及版本比较 偶然看到别人写的一句代码: <?php if (version_compare("5.2", PHP_VERSION, &q ...
- 【转】关于“ORA-01653: 表 SYS.AUD$ 无法通过 128 (在表空间 SYSTEM 中) 扩展”的错误
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 5月 17 18:31:08 2010 Copyright (c) 1982, 2007, Oracl ...
- selenium之多线程启动grid分布式测试框架封装(一)
一.设计思路 在国内市场上,IE内核的浏览器占据了绝大部分的市场份额,那么此次框架封装将进行IE系列的浏览器进行多线程并发执行分布式测试的封装. 运行时主进程与多线程关系如下:
- SQL Server 2008 R2中,变表的右键弹出菜单中的“选择前1000行”为“选择所有行”
原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询 ...
- VC++.Net CAD编程架构
1.每个对应的菜单项的图形抽象的, 图形抽象基类, 取决于改变来自子(如矩形.椭圆形) 2.在Doc对象管理列表管理,图形对象,当图形需要重绘或序列存储,通过遍历该列表的对象可以是 3. 每个类的职责 ...
- 自动编译CoffeeScript的Gruntfile.js
比如把coffee文件写在coffee/controller/文件夹下,新建js/controller文件夹,使用grunt运行项目,将自动编译coffee到相应的js文件夹下. module.exp ...
- ASP.NET MVC局部视图
使用ASP.NET MVC局部视图避免JS拼接HTML,编写易于维护的HTML页面 以前使用ASP.NET WebForm开发时,喜欢使用Repeater控件嵌套的方式开发前台页面,这样就不用JS ...
- SQL点滴12—SQL Server备份还原数据库中的小把戏
原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, ...
- 疯狂html5演讲(两):HTML5简经常使用的元素和属性(一个):html5保留经常使用的元素
html5取出一小部分的元素和属性:主要删除的各种元素和属性与文档相关的风格.例<font>.width等待,html5建议规范css样式表来控制html文档样式. 1.基本元素 < ...
- Python开发工具Wing IDE发布5.0.1版本
Wing IDE是一个跨平台的Python IDE,提供了一个专业代码编辑.自动编辑.自动完成.重构.强大的图形调试器.版本控制.单位测试.搜索及其他功能.目前已经成为最全面.最综合.最先进的智能化P ...