delphi中如何将指定的EXCEL文件的指定列导入数据库中?我用的是DB表,请教各位!还有相反的,如何将DB表中的数据导出为EXCEL文件!

解决方案 »

  1.   

    1.利用 数据库控件+excel处理代码
      FExcelApp := CreateOleObject('Excel.Application');
      FWorkBook := CreateOleObject('Excel.Sheet');
      try
        FWorkBook := FExcelApp.WorkBooks.Open(FileName);
        FWSheet := FWorkBook.Sheets[1];
        ARow := 1;
        ACol := 1;
        AStrID := FWSheet.cells[ARow,CheckCol].value;
        PlShowMsg.Visible := True;
       // FMaxRow := GetMaxRow(FWorkBook.Worksheets[1].UsedRange.Rows.Count);
        while AStrID<>'' do
        begin
          PlShowMsg.Caption :=  '导入条数...'+IntToStr(ARow);
          Application.ProcessMessages;
          if ARow>1 then
            StringGrid.Cells[0,ARow-1] := IntToStr(ARow-1);
          for ACol:=1 to AMaxCol do
          begin
            StringGrid.Cells[ACol,ARow-1] := FWSheet.cells[ARow,ACol].value;
          end;
          Inc(ARow);      AStrID := FWSheet.cells[ARow,CheckCol].value;
        end;
        StringGrid.ColCount := AMaxCol+1;
        StringGrid.RowCount := ARow;
        PlShowMsg.Visible := False;
      finally
        FWorkBook := Unassigned;
        FExcelApp.WorkBooks.Close;
        FExcelApp.Quit;
        FExcelApp := Unassigned;
      end;2.利用 数据库控件
    Insert   temp   SELECT   *   FROM   OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ', ' 'Data   Source= "   '+FileListBox1.FileName+ '   ";Extended   Properties= "Excel   5.0;HDR=Yes; ";Persist   Security   Info=False ' ')...sheet1$   ' http://topic.csdn.net/u/20070521/14/a1d1ef11-7e65-4113-80f1-95e2335cf1ff.html