3

我想将 Excel 中的数据导入 Delphi 7 上的 Paradox 数据库。

我怎么能用德尔福做到这一点?

4

4 回答 4

6

好吧,如果您有标记为 Delphi 7 的问题,我假设您有BDE。这将使您能够在 Delphi 中完成整个过程。

您可以修改和使用此未经测试的代码(您需要添加异常处理):

procedure TForm1.Button2Click(Sender: TObject);
var
  Cols: integer;
  Rows: integer;
  IntCellValue: integer;
  Excel, XLSheet: Variant;
  failure: Integer;

begin
  failure:=0;
  try
    Excel:=CreateOleObject('Excel.Application');
  except
    failure:=1;
  end;
  if failure = 0 then
  begin
    Excel.Visible:=False;
    Excel.WorkBooks.Open(<Excell_Filename>);
    XLSheet := Excel.Worksheets[1];
    Cols := XLSheet.UsedRange.Columns.Count;
    Rows := XLSheet.UsedRange.Rows.Count;

    // Value of the 1st Cell
    IntCellValue:=Excel.Cells[1, 1].Value;
    // Iterate Cals/Rows to read the data section in your worksheet
    // and you can write it in Paradox using the BDE by iterating all cells
    // somthing like this pseudo code:

      try            
        Query := TQuery.Create(nil)            
        Query .Databasename := PdxDBName; // must be configured in the BDE
        while Rows > 0
        begin
          while Cols > 0
          begin
            IntCellValue:=Excel.Cells[Cols,Rows].Value;
            Query .SQL.text := // SQLStmt including the IntCellValue
            ExecSQL;
            dec(Cols);               
          end;
          Cols := XLSheet.UsedRange.Columns.Count;
        Dec(Rows);
        end;
      finally
        Query.Free;
      end;

    Excel.Workbooks.Close;
    Excel.Quit;
    Excel:=Unassigned;
  end;
end;
于 2011-02-21T05:48:45.390 回答
5

Excel 中的 CSV 然后将 CSV 导入 Paradox DB 呢?您也可以尝试从 Excel 导出 XML,然后以编程方式将 XML 加载到 Padox DB 中。

于 2011-02-20T19:52:55.440 回答
3

使用 Delphi 7 中的 OLEDB Provider 和 ADO 组件来实现这一点。它应该很简单,您可以通过 SQL 查询使用 Excel 查询。

使用 TADO 组件获取数据,然后使用BDE组件(如 TQuery)将数据导入 Paradox 表。

于 2011-02-21T11:39:48.563 回答
2

这个工具SMImport说它可以做到。虽然他们想要 50 美元,但您可以下载免费试用版。

于 2011-02-20T19:44:38.880 回答