Üdv!
Delphi 5ben próbálkozom egy kép beillesztésével egy egyesített cellába ... különféle módszereket próbáltam, de sehogy sem tetszett neki. Ha valaki tud megoldást légyszives írja le, mert lassan agyvérzést kapok tőle.
unit leltar;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, DBXpress, SqlExpr,
WideStrings, ExtCtrls, DBCtrls, AppEvnts, alapanyagok, shellapi, ComObj,
OleServer, ExcelXP;
type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
Button1: TButton;
Button2: TButton;
DataSource1: TDataSource;
Table1: TTable;
Query1: TQuery;
ExcelOLEObject1: TExcelOLEObject;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure DBGrid1MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
posi: integer;
maxsor: integer;
rekord : string;
ertek : string;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var a:string;
c:integer;
sor:integer;
d:integer;
f2 : textfile;
t : tdatetime;
ev,honap,nap: word;
ora,perc,mp,smp:word;
d2 : tdatetime;
FExcel: OleVariant;
FWorkbook: OleVariant;
FWorksheet: OleVariant;
i,j : Integer;
begin
d2:=date;
FExcel:=CreateOleObject('excel.application');
FExcel.Visible:=False;
FWorkBook:=FExcel.WorkBooks.Add;
FWorkSheet:=FWorkBook.WorkSheets.Add;
fworksheet.range['a1:b1'].mergecells:=true;
fworksheet.range['a1:b1'].value:='SIC Hungary Kft. -';
fworksheet.range['c1'].value:=d2;
fworksheet.range['a1:c1'].Font.bold:=true;
fworksheet.range['a1:c1'].font.size:=12;
fworksheet.range['a1:b1'].horizontalalignment:=xlright;
fworksheet.range['c1'].horizontalalignment:=xlleft;
for i:=0 to Table1.FieldCount-2 do
begin
fworksheet.range[chr(i+65)+'3'].Value:=dbgrid1.Columns.Items[i].FieldName;
end;
i:=0;
Table1.First;
while not Table1.Eof do
begin
for j:=0 to Table1.FieldCount-2 do fworksheet.range[chr(j+65)+inttostr(i+4)]:=Table1.Fields[j].Value;
inc(i);
Table1.Next;
end;
fworksheet.range['a3:a'+inttostr(Table1.RecordCount+3)].ColumnWidth:=6;
fworksheet.range['b3:b'+inttostr(Table1.RecordCount+3)].ColumnWidth:=24;
fworksheet.range['c3:c'+inttostr(Table1.RecordCount+3)].ColumnWidth:=13;
fworksheet.range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.bold:=true;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.size:=12;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].Interior.color:=clblue;
fworksheet.Range['c4:c'+inttostr(Table1.RecordCount+3)].font.bold:=true;
fworksheet.Range['c4:c'+inttostr(Table1.RecordCount+3)].font.color:=clblue;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].font.color:=clwhite;
fworksheet.Range['A3:'+chr(Table1.FieldCount-2+65)+'3'].HorizontalAlignment:=xlCenter;
fworksheet.Range['A3:a'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlleft;
fworksheet.Range['b3:b'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlCenter;
fworksheet.Range['c3:c'+inttostr(Table1.RecordCount+3)].HorizontalAlignment:=xlright;
fworksheet.Range['A4:c'+inttostr(Table1.RecordCount+3)].Borders.Weight := xlmedium;
fworksheet.Range['a3:c3'].BorderAround(xlcontinuous,xlthick,1,1);
fworksheet.Range['a3:'+chr(Table1.FieldCount-2+65)+inttostr(Table1.RecordCount+3)].BorderAround(xldouble,xlthick,1,1);
fworksheet.range['e4:f14'].mergecells:=true;
fworksheet.pictures.insert('c:\users\sic2.png'); -- Itt keletkezik a probléma
FWorkbook.SaveAs(PChar(ExtractFilePath(ParamStr(0)))+'proba.xls');
FExcel.Quit;
FExcel:=unassigned;
screen.cursor:=crDefault;
assignfile(f2,'c:\log.txt');
append(f2);
t:=time;
decodetime(t,ora,perc,mp,smp);
decodedate(d2,ev,honap,nap);
writeln(f2,inttostr(ev)+'.'+inttostr(honap)+'.'+inttostr(nap)+' '+inttostr(ora)+':'+inttostr(perc)+' '+'Adatbázis exportálás (Vegyszer)');
closefile(f2);
ShellExecute(Handle, 'open', 'C:\users\proba.xls', nil, nil, SW_SHOWNORMAL);
end;
Friss hozzászólások
6 nap 3 óra
16 hét 2 nap
18 hét 3 nap
34 hét 21 óra
1 év 4 hét
1 év 14 hét
1 év 16 hét
1 év 16 hét
1 év 16 hét
1 év 18 hét