Excel To SqlServer huaervvhuaer(原作)

转载 2006年05月25日 14:52:00

uses
  ComObj, Grids, Db, DBTables, ADODB;


procedure load(rowCount,colCount:integer; fileName:String; var grid:TStringGrid);
//从Excel中读取数据到 Grid
var
  v:variant;
  i,j:integer;
begin
  grid.RowCount:=rowCount;
  grid.ColCount:=colCount;
  v:=createoleobject('Excel.Application');//创建OLE对象
  try
    V.workBooks.Open(fileName);
    for i:=1 to rowCount do
      for j:=1 to colCount do
        grid.Cells[j-1,i-1]:=v.workbooks[1].sheets[1].cells[i,j];
    v.workbooks[1].close;
  finally
    v.quit;
  end
end;

procedure save(tableName:String;grid:TStringGrid);
// 将 Grid 中的数据保存到 SQL Server 数据表中
var
  valuesStr:string;
  i,j:integer;
begin
  if not CreateTable(tableName,grid.ColCount) then
  begin
    showmessage('Error On CreateTable');
    exit;
  end;
  for i:=1 to grid.RowCount-1 do
  begin
    valuesStr:=inttostr(i)+',';
    for j:=0 to grid.ColCount-1 do
      valuesStr:=valuesStr+Grid.Cells[j,i]+',';

    if not insertone(tableName,valuesStr) then
    begin
      showmessage('Error On Row('+inttostr(i)+')');
      exit;
    end;
  end;
  showmessage('数据导入成功');
end;

function insertone(const tableName, ValuesStr: string): boolean;
// 插入一条记录
var
  tmpstr,s:string;
  p:integer;
begin
  result:=true;
  tmpstr:=ValuesStr;
  with query1 do
  begin
    close;
    sql.Clear;
    sql.Add('insert into '+tableName+' values(');
    s:='';
    while tmpstr<>'' do
    begin
      p:=pos(',',tmpstr);
      s:=s+''''+copy(tmpstr,1,p-1)+''',';
      system.Delete(tmpstr,1,p);
    end;
    s:=copy(s,1,length(s)-1);
    sql.Add(s);
    sql.Add(')');
    try
      execsql;
    except
      result:=false;
    end;
  end;
end;

function CreateTable(const tableName:String; aFieldCount: integer): boolean;
// 创建表
var
  tmpstr:string;
  i:integer;
begin
  result:=true;
  tmpstr:='if exists (select * from sysobjects where Name='''
    +tableName+''') drop table '+tableName+' create table '+tableName+'(';

  for i:=1 to aFieldCount do
    tmpstr:=tmpstr+'F'+inttostr(i)+' varchar(50),';
  delete(tmpstr,length(tmpstr),1);
  tmpstr:=tmpstr+')';

  with query1 do
  begin
    close;
    sql.Clear;
    sql.Add(tmpstr);
    try
      execsql;
    except
      result:=false;
    end;
  end;
end;

sqlserver数据库入门

sqlserver是微软主推的数据库,在数据库领域占有重要的地位,拥有众多世界五百强客户。 本门课程专为菜鸟量身定做,不需要具备任何基础,极速入门SQLserver数据库,为您的职业身涯添砖加瓦!
  • 2016年12月11日 11:31

我的速写新作

上次发的都是06年的画。。  这次来点新鲜的~~ 历史画册: http://blog.csdn.net/cuibo1123/archive/2008/11/27/3391174.aspx   1...
  • cuibo1123
  • cuibo1123
  • 2008-12-01 21:26:00
  • 1861

excel和sqlserver之间的导入导出

 SQL Server导出为Excel:          要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作...
  • libo2006
  • libo2006
  • 2007-08-01 10:26:00
  • 2431

查询语句SqlServer与Excel数据导入导出

一、Excel文件在sqlserver数据库的本地 1、启用Ad Hoc Distributed Queries的方法 exec sp_configure 'show advanced options...
  • wozengcong
  • wozengcong
  • 2016-04-01 09:18:53
  • 2440

Excel导入SQLServer数据库工具(含源码)

  • 2016年03月17日 15:04
  • 10.39MB
  • 下载

用C# 编程将Excel 文档数据导入SQLServer数据库

  • 2014年09月23日 16:16
  • 141KB
  • 下载

SQLServer导入excel报错因缺少插件

导入excel步骤: 选定数据库右击--》任务--》导入数据 数据源选择excel,选择好路径,点下一步,报错如下: 需要安装插件,插件的下载地址:点击打开链接...
  • Wikey_Zhang
  • Wikey_Zhang
  • 2017-08-23 14:40:03
  • 582

SqlServer 使用存储过程 导出为Excel

一个脱离office组件的可以将语句结果导出到Excel的过程   --1.执行时所连接的服务器决定文件存放在哪个服务器 CREATE PROC ExportFile @Query...
  • chenghaibing2008
  • chenghaibing2008
  • 2013-01-30 11:53:08
  • 4279

从SQL Server中导入/导出 Excel 的基本方法

/*===================  导入/导出 Excel 的基本方法 ===================*/从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*...
  • feng19821209
  • feng19821209
  • 2005-01-15 12:40:00
  • 2118

(c#)Excel与SqlServer间数据相互导入

          在数据库编程中,常会遇到要把数据库表信息导入Excel中,  有时则是把Excel内容导入数据库中。在这里,将介绍一种比较方便快捷的方式,也是比较普遍的。其实,这方法你并不陌生。原...
  • kkfdsa132
  • kkfdsa132
  • 2010-04-13 22:52:00
  • 5801
收藏助手
不良信息举报
您举报文章:Excel To SqlServer huaervvhuaer(原作)
举报原因:
原因补充:

(最多只允许输入30个字)