关于DBGRIDEH导出数据到CSV

2016-02-19 12:38 11 1 收藏

今天图老师小编给大家展示的是关于DBGRIDEH导出数据到CSV,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - 编程语言 】

  在通常情况下使用DBGRIDEH导出的到CSV中的数据是这个样子的

  "a","b","c"

  可能我们并不希望它这样显示,有可能希望它显示成种状态

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  a,b,c

  如果想这样,我们可以修改DBGRIDEH里面的DBGridEhImpExp.pas文件

  具体修改如下:增加一个自己的导出到CSV的类

   { TMyDBGridEhExportAsCVS }
  
    TMyDBGridEhExportAsCVS = class(TDBGridEhExportAsText)
    private
      FSeparator: Char;
    protected
      procedure CheckFirstCell; override;
      procedure WriteTitle(ColumnsList: TColumnsEhList); override;
      procedure WriteDataCell(Column: TColumnEh; FColCellParamsEh: TColCellParamsEh); override;
      procedure WriteFooterCell(DataCol, Row: Integer; Column: TColumnEh; AFont: TFont;
        Background: TColor; Alignment: TAlignment; Text: String); override;
    public
      constructor Create; override;
      property Separator: Char read FSeparator write FSeparator;
    end;
  
  { TMyDBGridEhExportAsCVS }
  
  procedure TMyDBGridEhExportAsCVS.CheckFirstCell;
  var s: String;
  begin
    if FirstCell = False then
    begin
      s := Separator;
      StreamWriteString(Stream, s);
  //    Stream.Write(PChar(s)^, Length(s))
    end else
      FirstCell := False;
  end;
  
  constructor TMyDBGridEhExportAsCVS.Create;
  begin
    Separator := ',';
    inherited Create;
  end;
  
  procedure TMyDBGridEhExportAsCVS.WriteDataCell(Column: TColumnEh; FColCellParamsEh: TColCellParamsEh);
  var s: String;
  begin
    CheckFirstCell;
    s := FColCellParamsEh.Text;
    StreamWriteString(Stream, s);
  //  Stream.Write(PChar(s)^, Length(s));
  end;
  
  procedure TMyDBGridEhExportAsCVS.WriteFooterCell(DataCol, Row: Integer;
    Column: TColumnEh; AFont: TFont; Background: TColor;
    Alignment: TAlignment; Text: String);
  var s: String;
  begin
    CheckFirstCell;
    s := Text;
    StreamWriteString(Stream, s);
  //  Stream.Write(PChar(s)^, Length(s));
  end;
  
  procedure TMyDBGridEhExportAsCVS.WriteTitle(ColumnsList: TColumnsEhList);
  var i: Integer;
    s: String;
  begin
    CheckFirstRec;
    for i := 0 to ColumnsList.Count - 1 do
    begin
      s := ColumnsList[i].Title.Caption;
      if i ColumnsList.Count - 1 then
        s := s + Separator;
      StreamWriteString(Stream, s);
  //    Stream.Write(PChar(s)^, Length(s));
    end;
  end;

  

   

  Good luck!

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

   

来源:http://www.tulaoshi.com/n/20160219/1601350.html

延伸阅读
卡卡记账怎么导出数据   卡卡记账导出数据教程。要换新手机但是怕换手机之后之前的帐全不见了?小伙伴们可以在换手机之前先导出数据,换了新手机之后直接导入数据就可以啦,那么怎么导出数据呢?现在图老师小编就教大家卡卡记账怎么导出数据。 1)打开,把屏幕向右边拉取,然后点击下方的;(如下图) 2)点击下方的,...
关于数据校验 作者:king_koo 下载源代码 1.什么是数据校验 通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。 2.最简单的检验 实现方法:最简单的校验...
标签: SQLServer
一、导出导入SQL Server里某个数据库 1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务-备份数据库。 2.备份 选数据库-完全,   目的 备份到 按添加按钮   文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)   重写 选重写现有媒体   最后按确定按钮。   如...
标签: ASP
      这是一个从服务器数据库直接下数据到客户端文件的例子,文件名和扩展名可以根据需要随便写。new/temp.htm要求真实存在,其实没有什么作用,只是引导一下,否则不能对stram数据进行写操作。     网络上流传的这方面的东西不少,但多数是copy来的,很简单的事情搞得那么复杂。真正经过实践的东东少得...
标签: Web开发
上午给系统的订单管理部分添加了一个功能,把查询到的订单信息导出到Excel,供管理员分析用。以前写的代码如下: Response.Clear(); Response.BufferOutput = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition","attachment;filename = FileName.xls"); Response.ContentEncoding = ...

经验教程

679

收藏

76
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部