利用ADOTABLE与ACCESS连接,怎样把EXCELL中的数据全部导入到ACCESS中去?
解决方案 »
- 一个看起来比较复杂的有问题的程序,请教各位
- 如何监听局域网中电脑是否连接到服务器?
- Delphi联想框中联想选项 顺序向下两个两个的跳着选择,奇怪呀!!!
- 请教一个FastReport做统计报表的问题
- 100分求:办公物品管理系统!没有源码也没有关系!
- 如何在DELPHI中使用BCB的控件(可能很简单)
- 请问一个简单的问题
- 关于设置环境变量的问题解决办法。看了半天坛子里面没一个回答正确的,也许高手不希罕回答吧。
- 可以同时装多个不同版本的Delphi吗?(Delphi5.0 Delphi6.0)
- 如何编辑动态控件StringGrid
- 年终散分!接分对象:跟我一样穷!穷的标准:可用粉 < 专用粉
- 有人写过这样的函数(文件拷贝)吗?可否共享?
adotable1.open;
adotable2.open;
adotable2.append;
while not adotable1.eof then
begin
for i:=0 to adotable1.fieldcount-1 do
adotable2.field[i].value := adotable1.field[i].value;
adotable2.post;
adotable1.next
end;
procedure ExportToExcel(Dataset:TDataset);
var
Range,WorkBook,Sheet,Excel:variant;
CurCol,col,row:integer;
FrmWait:TFrmWait;
begin
Excel:=CreateOleObject('Excel.Application');
FrmWait:=TFrmWait.Create(application);
try
FrmWait.Show;
// Excel.visible:=true;
Application.ProcessMessages;
Excel.DisplayAlerts:=false;
Excel.WorkBooks.Add;
WorkBook:=Excel.WorkBooks[1];
Sheet := WorkBook.WorkSheets[1];
CurCol:=0;
Row:=4; //?第四行,第二列?始?出
for col:=1 to DataSet.FieldCount do //?出??
if DataSet.Fields[Col-1].Visible then
begin
Sheet.Cells[Row,CurCol+2]:=DataSet.Fields[Col-1].DisplayLabel;
inc(CurCol);
end;
inc(Row); //?据?第五行?始?出 DataSet.DisableControls;
FrmWait.ProgressBar1.Max:=TDataQuery(DataSet).FilterRows;
FrmWait.Label2.Caption:=format('估?用?:%f 秒',[FrmWait.ProgressBar1.Max/40]);
DataSet.First;
while not Dataset.Eof do
begin
CurCol:=0;
for Col:=1 to DataSet.FieldCount do
if DataSet.Fields[Col-1].Visible then
begin
Sheet.Cells[Row,CurCol+2]:=DataSet.Fields[Col-1].DisplayText;
inc(CurCol);
end;
DataSet.Next;
inc(Row);
FrmWait.ProgressBar1.Position:=Row;
FrmWait.Label2.Caption:=format('估?用?:%f 秒',[(FrmWait.ProgressBar1.Max-FrmWait.ProgressBar1.Position)/40]);
if FrmWait.ConFirmQuit then
if YesNoBox('确定要取消?前操作??') then
begin
Dataset.EnableControls;
Excel.quit;
exit;
end else FrmWait.ConFirmQuit:=false;
Application.ProcessMessages;
end; Range:=Sheet.Range['1:65536'];
Range.Verticalalignment:= -4108;//Center; //垂直中??
//???表格?的范?
Range:=Sheet.Range[Sheet.cells[4,2].Address+':'
+Sheet.cells[Row-1,CurCol+1].Address];
Range.Borders.LineStyle:=1;
Range.Font.Name:='宋体'; //?置字体和大小
Range.Font.Size:=11; Sheet.Cells.Columns.AutoFit; //自??整列?
Excel.visible:=true;
{ try
Sheet.PrintPreView;
finally
Excel.quit;
end;
}
finally
FrmWait.Free;
Dataset.EnableControls;
end;
end;