السلام عليكم ورحمة الله وبركاته ،
كانت لدي نفس المشكلة في تصدير التواريخ ،
وحلها هو كالتالي :
لابد من معرفة نوع الحقل قبل تصديره ،
فمثلا :
هذا الكود استعمله في تصدير DBGRID إلى EXCEL (ويعكس إظهار التواريخ)
وحلها كالتالي :
عسى أن تنفع الإخوة ،
بالتوفيق.
كانت لدي نفس المشكلة في تصدير التواريخ ،
وحلها هو كالتالي :
لابد من معرفة نوع الحقل قبل تصديره ،
فمثلا :
هذا الكود استعمله في تصدير DBGRID إلى EXCEL (ويعكس إظهار التواريخ)
كود :
procedure TFMonEtat.Button3Click(Sender: TObject);
var Tab: _workbook;
Feuil: _worksheet;
i,j:Integer;
S:shortstring;
begin
try
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=False;
Tab:=ExcelApplication1.Workbooks.Add(xlWBATWorksheet,0);
//ExcelApplication1.Visible[0]:=true;
feuil:=Tab.Worksheets[1] as _worksheet;
For i:=0 to DBGrid1.Columns.Count-1 do
begin
with Feuil.Range[MonTableau[i+1]+'1',MonTableau[i+1]+'1'] do
begin
Value[xlRangeValueDefault]:= DBGrid1.Columns.Items[i].Title.Caption;
Font.Name:='times new roman';
Font.Size:=10;
Font.Bold:=True;
With Interior do
begin
ColorIndex := 15;
Pattern := xlSolid;
PatternColorIndex := xlAutomatic;
End;
With Borders do
begin
LineStyle := xlContinuous;
Weight := xlThin;
ColorIndex := xlAutomatic;
End;
end;
end;
j:=2;
xQuery1.First;
While not xQuery1.Eof do
begin
For i:= 1 To DBGrid1.Columns.Count Do
begin
s := MonTableau[i]+inttostr(j);
Feuil.Range[s,s].Value[xlRangeValueDefault] :=DBGrid1.Fields[i-1].AsString;
end;
xQuery1.Next;
j:=j+1;
end;
finally
SUIMsgDlg(' Exportation des données Terminée . ','MyApp',mtInformation,[mbOK],suiMessageDialog1.UIStyle);
ExcelApplication1.Visible[0]:=true;
ExcelApplication1.Cells.Select;
ExcelApplication1.Columns.AutoFit;
ExcelApplication1.Range['A1','A1'].Select;
ExcelApplication1.Disconnect;
end;
end;وحلها كالتالي :
كود :
if DBGrid1.Fields[i-1].DataType = ftCurrency then
begin
//Feuil.Range[s,s].NumberFormat := '#,##0.00';
Feuil.Range[s,s].Value[xlRangeValueDefault] := DBGrid1.Fields[i-1].AsCurrency;
end
else
if DBGrid1.Fields[i-1].DataType in [ftDate,ftDateTime] then
begin
Feuil.Range[s,s].NumberFormat := 'jj/mm/aaaa';
Feuil.Range[s,s].Value[xlRangeValueDefault] := DBGrid1.Fields[i-1].AsDateTime;
end
else
begin
Feuil.Range[s,s].NumberFormat := 'Text';
Feuil.Range[s,s].Value[xlRangeValueDefault] := '''' + DBGrid1.Fields[i-1].AsString;
end ;عسى أن تنفع الإخوة ،
بالتوفيق.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.

