关于DBGRIDEH导出数据到CSV

lovebaby懒洋洋

lovebaby懒洋洋

2016-02-19 12:38

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

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

  "a","b","c"

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

  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;

  

   

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

  Good luck!

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

   

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

关于DBGRIDEH导出数据到CSV

编程语言 网络编程
关于DBGRIDEH导出数据到CSV

php实现CSV文件导入和导出

PHP
php实现CSV文件导入和导出

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB.NET 导出数据到EXCEL中

编程语言 网络编程
VB.NET 导出数据到EXCEL中

快速导出数据到Excel(一):利用剪贴板

编程语言 网络编程
快速导出数据到Excel(一):利用剪贴板

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用ASP实现从SQL Server导出数据到Access

ASP
用ASP实现从SQL Server导出数据到Access

快速导出数据到Excel(三):利用Excel内置功能

编程语言 网络编程
快速导出数据到Excel(三):利用Excel内置功能

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

WPS 2007:让公式中的文字变个颜色

WPS 2007:让公式中的文字变个颜色

只允许建立一次子窗体的MDI程序

只允许建立一次子窗体的MDI程序
下拉加载更多内容 ↓