用DELPHIL如何将SQL数据导入EXCEL中
1个回答
展开全部
可以用直接到处并显示EXCEL,另外导入指定EXCEL中,但不显示EXCEL。今天我告诉你导入并显示EXCEL的方法,DELPHI中基本都是这么做的,
procedure Tfrmkccx.btn1Click(Sender: TObject);
var
Sheet,v_totallist: Variant;
Row,Col: Integer;
tempsub:string;
Excel:variant;
I:Integer;
begin
try
Excel:=UnAssigned;
Excel:=CreateOleObject('Excel.Application');
Excel.Visible:=true;
Excel.DisplayAlerts:=true;
excel.workbooks.add(1);
Sheet := Excel.ActiveSheet;
Sheet.Columns[6].horizontalalignment:=4;//右
Sheet.Columns[7].horizontalalignment:=4;
//Sheet.PageSetup.Orientation:=2;
Sheet.Columns[1].ColumnWidth := 20 ;
Sheet.Columns[2].ColumnWidth := 9 ;
Sheet.Columns[3].ColumnWidth := 9 ;
Sheet.Columns[4].ColumnWidth := 9 ;
Sheet.Columns[5].ColumnWidth := 9 ;
Sheet.Columns[6].ColumnWidth := 9 ;
Sheet.Columns[7].ColumnWidth := 9 ;
Sheet.Columns[8].ColumnWidth := 9 ;
Sheet.Columns[9].ColumnWidth := 9 ;
//Sheet.Columns[10].ColumnWidth := 9 ;
//Sheet.Columns[11].ColumnWidth := 23 ;
//Excel.ActiveSheet.PageSetup.CenterFooter :='仓管员: 复核人: 第&P页/共&N页';
Excel.ActiveSheet.PageSetup.PrintGridLines := True;
Excel.Cells.Font.Size:=9;
if VarIsEmpty(Sheet)=true then
begin
showmessage('Sheet no found');
exit;
end;
excel.Cells[1,1].font.Size:=20;
excel.cells[1,1]:=' 入库记录 ' ;
excel.cells[2,1]:=' ';
excel.cells[3,1]:='入库日期';
excel.cells[3,2]:='供应商';
excel.cells[3,3]:='图号';
excel.cells[3,4]:='名称';
excel.cells[3,5]:='材料';
excel.cells[3,6]:='规格';
excel.cells[3,7]:='数量';
excel.cells[3,8]:='单价';
excel.cells[3,9]:='金额';
row:=1;
sheet.Columns['A:j'].Select ;
excel.Selection.NumberFormatLocal:= '@';
qry1.First ;
while not qry1.Eof do
begin
excel.cells[row+3,1]:=qry1.FieldByName('pro_into_date').AsString ;
excel.cells[row+3,2]:=qry1.FieldByName('pro_supplier').AsString ;
excel.cells[row+3,3]:=qry1.FieldByName('chart_id').AsString ;
excel.cells[row+3,4]:=qry1.FieldByName('pro_name').AsString ;
excel.cells[row+3,5]:=qry1.FieldByName('pro_material').AsString ;
excel.cells[row+3,6]:=qry1.FieldByName('pro_norm').AsString ;
excel.cells[row+3,7]:=qry1.FieldByName('pro_num').AsInteger ;
excel.cells[row+3,8]:=qry1.FieldByName('pro_price').AsFloat ;
excel.cells[row+3,9]:=qry1.FieldByName('totalprice').AsFloat ;
row:=row+1;
qry1.Next ;
end;
except
Application.MessageBox('Excel没有正确安装!','警告',MB_OK);
exit;
end;
end;
procedure Tfrmkccx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
frmkccx:=nil;
end;
你只需交我这段代码稍微替换下你的,就OK了,改动不超过5个字,
procedure Tfrmkccx.btn1Click(Sender: TObject);
var
Sheet,v_totallist: Variant;
Row,Col: Integer;
tempsub:string;
Excel:variant;
I:Integer;
begin
try
Excel:=UnAssigned;
Excel:=CreateOleObject('Excel.Application');
Excel.Visible:=true;
Excel.DisplayAlerts:=true;
excel.workbooks.add(1);
Sheet := Excel.ActiveSheet;
Sheet.Columns[6].horizontalalignment:=4;//右
Sheet.Columns[7].horizontalalignment:=4;
//Sheet.PageSetup.Orientation:=2;
Sheet.Columns[1].ColumnWidth := 20 ;
Sheet.Columns[2].ColumnWidth := 9 ;
Sheet.Columns[3].ColumnWidth := 9 ;
Sheet.Columns[4].ColumnWidth := 9 ;
Sheet.Columns[5].ColumnWidth := 9 ;
Sheet.Columns[6].ColumnWidth := 9 ;
Sheet.Columns[7].ColumnWidth := 9 ;
Sheet.Columns[8].ColumnWidth := 9 ;
Sheet.Columns[9].ColumnWidth := 9 ;
//Sheet.Columns[10].ColumnWidth := 9 ;
//Sheet.Columns[11].ColumnWidth := 23 ;
//Excel.ActiveSheet.PageSetup.CenterFooter :='仓管员: 复核人: 第&P页/共&N页';
Excel.ActiveSheet.PageSetup.PrintGridLines := True;
Excel.Cells.Font.Size:=9;
if VarIsEmpty(Sheet)=true then
begin
showmessage('Sheet no found');
exit;
end;
excel.Cells[1,1].font.Size:=20;
excel.cells[1,1]:=' 入库记录 ' ;
excel.cells[2,1]:=' ';
excel.cells[3,1]:='入库日期';
excel.cells[3,2]:='供应商';
excel.cells[3,3]:='图号';
excel.cells[3,4]:='名称';
excel.cells[3,5]:='材料';
excel.cells[3,6]:='规格';
excel.cells[3,7]:='数量';
excel.cells[3,8]:='单价';
excel.cells[3,9]:='金额';
row:=1;
sheet.Columns['A:j'].Select ;
excel.Selection.NumberFormatLocal:= '@';
qry1.First ;
while not qry1.Eof do
begin
excel.cells[row+3,1]:=qry1.FieldByName('pro_into_date').AsString ;
excel.cells[row+3,2]:=qry1.FieldByName('pro_supplier').AsString ;
excel.cells[row+3,3]:=qry1.FieldByName('chart_id').AsString ;
excel.cells[row+3,4]:=qry1.FieldByName('pro_name').AsString ;
excel.cells[row+3,5]:=qry1.FieldByName('pro_material').AsString ;
excel.cells[row+3,6]:=qry1.FieldByName('pro_norm').AsString ;
excel.cells[row+3,7]:=qry1.FieldByName('pro_num').AsInteger ;
excel.cells[row+3,8]:=qry1.FieldByName('pro_price').AsFloat ;
excel.cells[row+3,9]:=qry1.FieldByName('totalprice').AsFloat ;
row:=row+1;
qry1.Next ;
end;
except
Application.MessageBox('Excel没有正确安装!','警告',MB_OK);
exit;
end;
end;
procedure Tfrmkccx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
frmkccx:=nil;
end;
你只需交我这段代码稍微替换下你的,就OK了,改动不超过5个字,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询