delphi4arab منتديات دلفي للعرب

نسخة كاملة : Excel من دلفي عبر ADO
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام علكيم
اخيLam.Abdeldjalil
اردت في بادئ الامر القيام ببرنامح فيه كل من scExcelExpor و ado لنقل البيانات ولكن فيما بعد وضعتهما كل على حدى
و عليكم السلام
أعتذر لأني لم أدقق جيدا في مثالك

لكنه يحمل نفس فكرة الأستاذ kachwahed أي الإتصال بـ Excel
ولا يحتوي على ما سميته بـ "التحويل من excel الى paradox بواسطة ado " ؟؟
السلام عليكم
نعم اخيLam.Abdeldjalil
السلام عليكم:
لمن أراد معرفة الإتصال عن طريق 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; 
السلام عليكم

هل يمكنك اضافة خاصية البحث في قاعدة البيانات و شكراا
بارك الله فيكم جميعا
السلام عليكم
هذا تابع يقوم بتحويل محتويات 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;
kachwahed كتب :
لأسباب أمنية قامت microsoft بإضافة imex=1 لمنع التعديل
PHP كود :
http://support.microsoft.com/kb/904953/en 
جعلتها صفر لنتمكن من التعديل/الإضافة
.


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

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