不知道怎么弄,请详细回答!

解决方案 »

  1.   

    从查询结果往外导,导到EXCEL中。必须再存一个表吗?不能直接导出吧?还有从表往EXCEL导,怎么导?
      

  2.   

    给你行代码,自己看吧,很简单的procedure TDataM_Pub.ExportToExcel(DBGridEh:TDBGridEh);
    var
      str:string;
      i,j:Integer;
      excelapp,sheet:Variant;
    begin
      str:='';
      DBGridEh.DataSource.DataSet.DisableControls; //关闭数据集连接
      for  i:=0  to  DBGridEh.DataSource.DataSet.FieldCount-1  do //i从0到DBGrid列数-1
      begin
        str:=str+DBGridEh.DataSource.DataSet.fields[i].DisplayLabel+char(9);//excel第一行为DBGrid字段名
      end;
      str:=str+#13;
      DBGridEh.DataSource.DataSet.First;
      while  not(DBGridEh.DataSource.DataSet.eof)  do //当数据集没有到最后一行
      begin
        for i:=0 to DBGridEh.DataSource.DataSet.RecordCount-1 do//从0到数据集的记录数-1
        begin
          for  j:=0  to  DBGridEh.DataSource.DataSet.FieldCount-1  do//i从0到数据集的字段数-1
          begin
            str:=str+DBGridEh.DataSource.DataSet.Fields[j].AsString+char(9);//字符串添加字段值
          end;
          str:=str+#13;
          DBGridEh.DataSource.DataSet.next;
          Application.ProcessMessages;
        end;  end;//end  while  DBGridEh.DataSource.DataSet.EnableControls;  clipboard.Clear;//清空剪切板
      Clipboard.Open; //打开剪切板
      Clipboard.AsText:=str;//粘贴到剪切板
      Clipboard.Close;
      excelapp:=createoleobject('excel.application');//创建excel表
      excelapp.workbooks.add(1);  //  excelapp.workbooks.add(-4167);
      sheet:=excelapp.workbooks[1].worksheets[1];
      sheet.name:='sheet1';
      sheet.paste;
      Clipboard.Clear;
      Sheet.rows[1].font.color:=clred;
      //      sheet.columns.font.Name:='宋体';
      //      sheet.columns.font.size:=9;
      //sheet.Columns.AutoFit;
      excelapp.visible:=true;
    end;
      

  3.   

    同3楼一同 BS 的还有楼主的结贴率!针对你言简意赅的提问,现给出同样言简意赅的回答
    以逗号分隔并且扩展名称为 csv 的文本文件,可以被excel正确打开