如何将execl中的某一单元的值写入table中

解决方案 »

  1.   

    table.FieldByName('Field').Asstring := Excel.Cells[intA, intB];
      

  2.   

    已解决
    table.FieldByName('Field').Asstring := Excel.Cells[i, l].value;
      

  3.   

    table.FieldByName('Field').Asstring := Excel.Cells[i, l].value;
      

  4.   

    给你个例子:
    unit XuLib;interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, DBTables, StdCtrls, ExtCtrls, Grids, DBGrids, Excel2000,
      OleServer, Mask, DBCtrls, ComCtrls;////////////////////////////////////////////////////////////////////////////////
    Procedure DBToExcel
    ( ModuleName : String ;  // Excel 模块文件名 *.Xlt
      FileName: String ;  // Excel 目标文件名 *.Xls
      DBGrid : TDBGrid ;  // TDBGrid 控件名
      Row : Integer ;  // 起始行
      Col : Integer   // 起始列
    ) ;
    ////////////////////////////////////////////////////////////////////////////////implementation////////////////////////////////////////////////////////////////////////////////
    //函数名 :  DBToExcel
    //
    //  功能 : 将TDBGrid 的数据导入到从某模板文件建立的 Excel 文档中,
    //  举例 :  DBToExcel( 'C:\ReportTable.Xlt', 'C:\ReportTable.Xls',
    //                       DBGrid1, 5, 1 ) ;                                                             //
    //  注意  :所指定的模板文件*.xlt, 必须已存在
    ////////////////////////////////////////////////////////////////////////////////
    Procedure DBToExcel
    ( ModuleName : String ;  // Excel 模块文件名 *.Xlt
      FileName: String ;  // Excel 目标文件名 *.Xls
      DBGrid : TDBGrid ;  // TDBGrid 控件名
      Row : Integer ;  // 起始行
      Col : Integer  // 起始列
    ) ;
    Var
          ExlApp : TExcelApplication ;
          ExlBook : TExcelWorkBook ;
          ExlSheet : TExcelWorkSheet ;
          i, j : Integer ;
          temp1, temp2 : OleVariant ;
    Begin
          // 判断指定的模板文件是否存在
          ModuleName := Trim(ModuleName) ;
          If FileExists(ModuleName)= False Then
             begin
                   ShowMessage( '模板文件: '+ ModuleName + ' 不存在 !' ) ;
                   Exit ;
             end ;      // 创建 Excel 服务器控件
          ExlApp := TExcelApplication.Create(nil);
          ExlBook := TExcelWorkBook.Create (nil);
          ExlSheet := TExcelWorkSheet.Create (nil) ;      // 连接 Excel 服务器
          Try
             ExlApp.Connect ;
          Except
             ShowMessage ('连接失败,可以没装 Excle') ;
             Abort ;
          End ;      // 从指定的模板文件*.xlt 新建一 Excel 文档
          temp1 := ModuleName ; temp2 := 1 ;
          ExlApp.Workbooks.Add( temp1, temp2) ;
          ExlBook.ConnectTo(ExlApp.Workbooks[1] );
          ExlSheet.ConnectTo(ExlBook.Worksheets[1] As _WorkSheet );      // 把 TDBGrid 的数据导入 Excel 中
          DBGrid.DataSource.DataSet.First ;
          i := Row ;
          While Not(DBGrid.DataSource.DataSet.Eof)  Do
            Begin
                  For j:=Col  To DBGrid.FieldCount+ Col-1  Do
                      ExlSheet.Cells.Item[i,j]:= DBGrid.Fields[j-col].AsString ;
                  DBGrid.DataSource.DataSet.Next ;
                  i := i+1 ;
            End ;      // 保存到 指定的文件
          FileName := Trim(FileName) ;
          IF FileExists(FileName) Then DeleteFile(FileName) ;
          ExlSheet.SaveAs(FileName);      // 关闭 Excel 服务器
          ExlApp.Disconnect ;
          ExlApp.Quit ;
      ExlApp.Free;  ExlBook.Free;  ExlSheet.Free;End; // End of The Procedure DbToExcel_2() /////////////////////////////////////
    end.