MsExcel.Cells[1,1].value:='药品编号1';
                MsExcel.Cells[1,2].value:='药品编号2';
                MsExcel.Cells[1,3].value:='药品编号3';
                MsExcel.Cells[1,4].value:='药品编号4';
                MsExcel.Cells[1,5].value:='药品编号5';
                MsExcel.Cells[1,6].value:='药品编号5';
 
你把cells[]里面全部写死了,当然只导第一行了! 
还有就是把你的j循环去掉!
                MsExcel.Cells[i,1].value:='药品编号1';
                MsExcel.Cells[i,2].value:='药品编号2';
                MsExcel.Cells[i,3].value:='药品编号3';
                MsExcel.Cells[i,4].value:='药品编号4';
                MsExcel.Cells[i,5].value:='药品编号5';
                MsExcel.Cells[i,6].value:='药品编号5';

解决方案 »

  1.   

    for    j:=0    to    MainADOD.FieldCount-1  do
      

  2.   

    对不起,弄错了!
    我想你的i 和 j 要换个位置!
    一行导完后,dataset.next!
      

  3.   

              MsExcel.Cells[1,1].value:='药品编号1';
              MsExcel.Cells[1,2].value:='药品编号2';
              MsExcel.Cells[1,3].value:='药品编号3';
              MsExcel.Cells[1,4].value:='药品编号4';
              MsExcel.Cells[1,5].value:='药品编号5';
              MsExcel.Cells[1,6].value:='药品编号5';
    for    j:=0    to    MainADOD.FieldCount-1  do
    beign
       for    i:=0  to    MainForm.MainADOD.RecordCount-1do
             
         begin
    MsExcel.Cells[j+1,i].value:=MainForm.MainDBGird.fields[j].AsString;
            i:=i+1;
            end;
            end;
      end;
      

  4.   

    MsExcel.Cells[1,1].value:='药品编号1';
                          MsExcel.Cells[1,2].value:='药品编号2';
                          MsExcel.Cells[1,3].value:='药品编号3';
                          MsExcel.Cells[1,4].value:='药品编号4';
                          MsExcel.Cells[1,5].value:='药品编号5';
                          MsExcel.Cells[1,6].value:='药品编号5';
      for        j:=0        to        MainADOD.FieldCount-1    do
      beign
            fo  i:=0    to  MainForm.MainADOD.RecordCount-1 do
                        
                begin
      MsExcel.Cells[j+1,i].value:=MainForm.MainADO。fields[j].AsString;
                      i:=i+1;
                      end;  
      MainADOD.next     
                      end;
          end;
      

  5.   

    你的数据库指针没有移动,试试下面的代码。
    MsExcel.Cells[1,1].value:='药品编号1';
    MsExcel.Cells[1,2].value:='药品编号2';
    MsExcel.Cells[1,3].value:='药品编号3';
    MsExcel.Cells[1,4].value:='药品编号4';
    MsExcel.Cells[1,5].value:='药品编号5';
    MsExcel.Cells[1,6].value:='药品编号5';
    MainForm.MainDBGird.DataSource.DataSet.First;
    for i:=0 to  MainForm.MainADOD.RecordCount-1 do
    begin
        for j:=0 to MainADOD.FieldCount-1 do
        begin
           MsExcel.Cells[i+2,j+1].value:=MainForm.MainDBGird.DataSource.DataSet.Fields[j].AsString
        end;
        MainForm.MainDBGird.DataSource.DataSet.Next;
    end;