uniDBGrid导入数据库(转红鱼儿)

本文介绍了一个使用uniGUI项目的示例代码,演示了如何通过TkbmMWClientQuery将Excel文件中的数据导入数据库的过程。该方法首先打开指定的Excel文件,然后逐行读取并检查是否为空行,非空行的数据被解析并填充到数据库记录中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有朋友问如何将excel导入数据库,这是我做的uniGUI项目中代码,实现uniDBGrid导入数据库的函数,因为用了kbmMW,所以你看到是将uniDBGrid导入kbmMWClientQuery,然后提交的ClientQuery到数据库。共享了!
function ImportFromFile(aDataSet: TkbmMWClientQuery; aGrid: TUniDBGrid; aFileName: string): Boolean;
var
 

r, c, i: integer;
  // v: TCellValue;
  xls: TExcelfile;
begin
  aDataSet.DisableControls;
  xls := TXlsFile.Create(False);
  try
    xls.Open(aFileName);
    xls.ActiveSheet := 1;

    for r := 2 to xls.RowCount do
    begin
      if not IsBlankRow(xls, r) then // 不是空行则填加
      begin
        aDataSet.Append;
        for i := 0 to aGrid.Columns.Count - 1 do
        begin
          c := GetColByName(xls, aGrid.Columns[i].Title.Caption);
          if c <> -1 then
          begin
            case aDataSet.FieldByName(aGrid.Columns[i].FieldName).DataType of
              ftDateTime, ftDate:
                aDataSet.FieldByName(aGrid.Columns[i].FieldName).AsDateTime := xls.GetCellValue(r, c).ToDateTime(False);
            else
              aDataSet.FieldByName(aGrid.Columns[i].FieldName).AsString := xls.GetCellValue(r, c)
                .ToString.Replace(' ', '').Replace('''', '');
            end;
          end;
        end;

        aDataSet.Post;
      end;
    end;
    result := aDataSet.Resolve;

  finally
    aDataSet.EnableControls;
    xls.Free;
  end;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值