![]() |
#2
yuutian2011-08-26 21:37
给你几个参考的例子,自己看看吧
![]() procedure TFORMITMI.Button1Click(Sender: TObject); var i, row, column: integer; ExcelApplication1: TExcelApplication; ExcelWorkbook1: TExcelWorkbook; ExcelWorksheet1: TExcelWorksheet; begin Try ExcelApplication1 := TExcelApplication.Create(Application); ExcelWorksheet1 := TExcelWorksheet.Create(Application); ExcelWorkbook1 := TExcelWorkbook.Create(Application); ExcelApplication1.Connect; Except MessageDlg( 'Excel may not be installed ', mtError, [mbOk], 0); Abort; End; ExcelApplication1.Visible[0] := True; ExcelApplication1.Caption := 'Excel Application '; ExcelApplication1.Workbooks.Add(Null, 0); ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]); ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet); DBGrid1.DataSource.DataSet.Open; row := 2; ExcelWorksheet1.Cells.Item[1, 1] := '物料编码 '; ExcelWorksheet1.Cells.Item[1, 2] := '物料描述 '; ExcelWorksheet1.Cells.Item[1, 3] := '单位 '; ExcelWorksheet1.Cells.Item[1, 4] := '制构码 '; ExcelWorksheet1.Cells.Item[1, 5] := '状态 '; While Not (DBGrid1.DataSource.DataSet.Eof) do begin column := 1; for i := 1 to DBGrid1.DataSource.DataSet.FieldCount do begin ExcelWorksheet1.Cells.Item[row, column] := DBGrid1.DataSource.DataSet.fields[i - 1].AsString; column := column + 1; end; DBGrid1.DataSource.DataSet.Next; row := row + 1; end; ExcelApplication1.Disconnect; //ExcelApplication1.Quit; ExcelApplication1.Free; ExcelWorksheet1.Free; ExcelWorkbook1.Free; end; |
tblSource.First;
if tblSource.RecordCount>0 then
begin
while not tblSource.Eof do
begin
tblAIM.Append;
for i :=0 to SList.Count - 1 do
begin
tblAIM.FieldByName(DList.Strings[i]).Value := tblSource.FieldByName(SList.Strings[i]).Value;
end;
tblAIM.FieldByName('导入标记').Value := 'Y';
tblAIM.Post;
tblSource.Next;
end;
end;
用TDBGrid 可以查看导入的数据 打开EXCEL就没数据 哪位好人帮我解决下的 谢谢