zoukankan      html  css  js  c++  java
  • cxgrid 利用TXLSReadWriteII5导出excel

    procedure TFormExportExcel.Button2Click(Sender: TObject);   //导出
    var
      SaveDialog: TSaveDialog;
      XLS: TXLSReadWriteII5;
      i: Integer;
      savaPath: string;
    begin
      SaveDialog := TSaveDialog.Create(nil);
      XLS := TXLSReadWriteII5.Create(nil);
    
      if RadioGroup1.ItemIndex = 0 then
        SaveDialog.Filter := 'EXCEL(*.xls)|*.xls';
    
      if RadioGroup1.ItemIndex = 1 then
        SaveDialog.Filter := '文本格式(*.txt)|*.txt';
    
      if SaveDialog.Execute then
      begin
    //    cxgrid自带导出方法
    //    if RadioGroup1.ItemIndex = 0 then
    //        ExportGridToExcel(SaveDialog.FileName, cxGrid1, true, true, true, 'xls');
    //
    //    if RadioGroup1.ItemIndex = 1 then
    //        ExportGridToText(SaveDialog.FileName, cxGrid1, true, true, 'txt');
    
        if Pos('xls', SaveDialog.FileName) > 0 then
          XLS.Filename := SaveDialog.FileName
        else
          XLS.Filename := SaveDialog.FileName + '.xls';
    
        cxGrid1DBTableView1.DataController.DataSet.DisableControls;
        i := 0;
        try
          cxGrid1DBTableView1.DataController.DataSet.First;
          while not cxGrid1DBTableView1.DataController.DataSet.Eof do
          begin
            XLS.Sheets[0].AsString[0, i] := cxGrid1DBTableView1.DataController.DataSet.FieldByName('param1').AsString;
            XLS.Sheets[0].AsString[1, i] := cxGrid1DBTableView1.DataController.DataSet.FieldByName('param2').AsString;
            XLS.Sheets[0].AsString[2, i] := cxGrid1DBTableView1.DataController.DataSet.FieldByName('param3').AsString;
    
    //        XLS.CmdFormat.BeginEdit(XLS[0]);
    //        XLS.CmdFormat.Border.Color.RGB := $0000FF;
    //        XLS.CmdFormat.Border.Style := cbsThick;
    //        XLS.CmdFormat.Border.Side[cbsLeft] := True;
    //        XLS.CmdFormat.Border.Side[cbsRight] := True;
    //        XLS.CmdFormat.ApplyCols(1, 3);
    
            cxGrid1DBTableView1.DataController.DataSet.Next;
            Inc(i);
          end;
        finally
          cxGrid1DBTableView1.DataController.DataSet.EnableControls;
        end;
    
        XLS.Write;
      end;
      SaveDialog.Free;
      XLS.Destroy;
    end;
  • 相关阅读:
    Python使用struct处理二进制
    ProtoBuf与Python结合使用初步
    智能指针shared_ptr的用法
    C++模板
    mac 安装protobuf,并编译为java,c++,python
    java的HashCode方法
    JVM的内存结构
    HashSet与TreeSet的比较
    面向对象的特征有哪些方面?
    Collection与Collections的区别是什么?
  • 原文地址:https://www.cnblogs.com/yangxuming/p/9401313.html
Copyright © 2011-2022 走看看