delphi4arab منتديات دلفي للعرب
Excel من دلفي عبر ADO - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي و التعامل مع قواعد البيانات (https://delphi4arab.net/forum/forumdisplay.php?fid=23)
+--- الموضوع : Excel من دلفي عبر ADO (/showthread.php?tid=2851)

الصفحات: 1 2


Excel من دلفي عبر ADO - mourad123 - 04-03-2011

السلام علكيم
اخيLam.Abdeldjalil
اردت في بادئ الامر القيام ببرنامح فيه كل من scExcelExpor و ado لنقل البيانات ولكن فيما بعد وضعتهما كل على حدى


Excel من دلفي عبر ADO - Lam.Abdeldjalil - 04-03-2011

و عليكم السلام
أعتذر لأني لم أدقق جيدا في مثالك

لكنه يحمل نفس فكرة الأستاذ kachwahed أي الإتصال بـ Excel
ولا يحتوي على ما سميته بـ "التحويل من excel الى paradox بواسطة ado " ؟؟


Excel من دلفي عبر ADO - mourad123 - 04-03-2011

السلام عليكم
نعم اخيLam.Abdeldjalil


Excel من دلفي عبر ADO - aymen1968 - 12-07-2011

السلام عليكم:
لمن أراد معرفة الإتصال عن طريق ADO بالإكسل 2010

كود:
PHP كود :
var
     
strConn :  widestring;
     
ThePath:String;
begin

     
IF OpenDialog1.Execute then ThePath:=OpenDialog1.FileName;
 
strConn:='Provider=Microsoft.ACE.OLEDB.12.0;' +
           
'Data Source=' + ThePath + ';' +
           
'Extended Properties="Excel 12.0;HDR=YES;"';//  Data Source=c:\myFolder\myExcel2007file.xlsx;Extended ;

{   strConn:='Provider=Microsoft.Jet.OLEDB.4.0;' +
           
'Data Source=' + ThePath + ';' +
           
'Extended Properties=Excel 8.0;';     }
  
ADOConnection1.Connected:=False;
  
AdoConnection1.ConnectionString:=strConn;
  try
    
AdoConnection1.Open;
    
AdoConnection1.GetTableNames(ComboBox1.Items,True);
  
except
    ShowMessage
('Unable to connect to Excel, make sure the workbook ' + ComboBox1.Text + ' exist!');
    
raise;
  
end; 



Excel من دلفي عبر ADO - manoubi77 - 26-01-2013

السلام عليكم

هل يمكنك اضافة خاصية البحث في قاعدة البيانات و شكراا


Excel من دلفي عبر ADO - محمد شعبان - 06-04-2015

بارك الله فيكم جميعا


Excel من دلفي عبر ADO - memoz - 06-04-2015

السلام عليكم
هذا تابع يقوم بتحويل محتويات datasource الى ملف word
كود :
procedure create_file(filnam:string;mnth,yer,mntq,kem,aml:string); var WordApp, NewDoc, WordTable: Variant; iRows, iCols, iGridRows, jGridCols: Integer; begin try WordApp := CreateOleObject('Word.Application'); except Exit; end; WordApp.Documents.Open(filnam); // WordApp.Documents.Add; NewDoc := WordApp.ActiveDocument; WordApp.ActiveDocument.Range.Font.Name := 'Times New Roman'; WordApp.ActiveDocument.Range.Font.size:= 10; WordApp.ActiveDocument.Range.Bold := True; WordApp.Selection.range.ParagraphFormat.Alignment :=wdAlignParagraphright; iCols :=frm_kafel_to_kfl.DataSource1.DataSet.RecordCount+1; iRows := 12; WordApp.Selection.Range.pagesetup.rightmargin:=10; WordApp.Selection.Range.pagesetup.leftmargin:=10; WordApp.Selection.Range.pagesetup.TopMargin:=150; WordApp.Selection.Range.pagesetup.BottomMargin:=150; frm_kafel_to_kfl.ProgressBar1.Min:=0; frm_kafel_to_kfl.ProgressBar1.max:=(frm_kafel_to_kfl.DataSource1.DataSet.RecordCount+1)*12; frm_kafel_to_kfl.ProgressBar1.Position :=0; WordApp.Selection.TypeText(' السلام عليكم'); WordApp.Selection.TypeText(#13#10#13#10); WordApp.Selection.TypeParagraph; WordApp.Selection.TypeText(' السلام عليكم ('+mnth+') السلام عليكم ('+yer+') السلام عليكم ('+mntq+') السلام عليكم ('+kem+') السلام عليكم('+aml+')'); WordApp.Selection.TypeText(#13#10#13#10); WordApp.ActiveDocument.Range.Bold := true; WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows); NewDoc.Tables.Item(1).Columns.Item(1).SetWidth(25,0);// م NewDoc.Tables.Item(1).Columns.Item(2).SetWidth(45,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(3).SetWidth(70,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(4).SetWidth(50,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(5).SetWidth(50,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(6).SetWidth(50,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(7).SetWidth(80,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(8).SetWidth(85,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(9).SetWidth(130,0);// العنوان NewDoc.Tables.Item(1).Columns.Item(10).SetWidth(85,0);// السلام عليكم NewDoc.Tables.Item(1).Columns.Item(11).SetWidth(70,0);// السلام عليكم WordTable.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle; WordTable.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle; WordTable.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle; WordTable.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle; WordTable.Borders.Item(wdBorderVertical).LineStyle:=wdLineStyleSingle; WordTable.Borders.Item(wdBorderHorizontal).LineStyle:=wdLineStyleSingle; WordTable.Cell(1,1).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,1).Range.Font.Size := 10; WordTable.Cell(1,1).Range.Font.Bold := true; WordTable.Cell(1,1).Range.Text :='م'; WordTable.Cell(1,2).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,2 ).Range.Text :='رقم استمارة اليتيم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,3).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,3 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,4).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,4 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,5).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,5 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,6).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,6 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,7).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,7 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,8).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,8 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,9).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,9 ).Range.Text :='ا السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,10).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,10 ).Range.Text :=' السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,11).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,11 ).Range.Text :='ا السلام عليكم'; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(1,12).Range.Paragraphs.Alignment := 4; WordTable.Cell(1,12 ).Range.Text :=' السلام عليكم'; if iCols>1 then frm_kafel_to_kfl.DataSource1.DataSet.First; for jGridCols := 2 to iCols do begin WordTable.Cell(jGridCols,1).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,1 ).Range.Text :=inttostr(jGridCols-1); frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,2).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,2 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_id').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,3).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,3 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_f_name').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,4).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,4 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_l_name').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,5).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,5 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('f_name').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,6).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,6 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_mather').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,7).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,7 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_birth_date').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,8).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,8 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('m_mobil').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,9).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,9 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('m_address').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,10).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,10 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('istlam_date').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,11).Range.Paragraphs.Alignment := 4; WordTable.Cell(jGridCols,11 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('mst_f_name').AsString; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; WordTable.Cell(jGridCols,12 ).Range.Text := ''; frm_kafel_to_kfl.DataSource1.DataSet.Next; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1; Application.ProcessMessages; end; WordApp.ActiveDocument.Range. InsertAfter(#13#10' السلام عليكم أ السلام عليكم السلام عليكم ' ); WordApp.Selection.range.ParagraphFormat.Alignment :=wdAlignParagraphLeft; frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.max; Application.ProcessMessages; NewDoc.Saveas(filnam, False) ; WordApp.Quit(False); end;



Excel من دلفي عبر ADO - خالد على22 - 12-04-2015

kachwahed كتب :
لأسباب أمنية قامت microsoft بإضافة imex=1 لمنع التعديل
PHP كود :
http://support.microsoft.com/kb/904953/en 
جعلتها صفر لنتمكن من التعديل/الإضافة
.


شكرا على المقال أخى
imex=1 للسماح بنصوص و أرقام (بيانات مختلفة الأنواع) فى نفس الحقل أو العمود
imex=0 لا تسمح إلا بنوع واحد من البيانات فى العامود الواحد

جرب بنفسك و ستعرف
خالص تقديرى