zoukankan      html  css  js  c++  java
  • TXLSReadWriteII 公式计算

    unit Unit1;
    
     
    
    interface
    
     
    
    uses
    
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    
      Dialogs, XLSReadWriteII2, StdCtrls, XLSUtils2;
    
     
    
    type
    
      TForm1 = class(TForm)
    
        aXlsObj: TXLSReadWriteII2;
    
        Button1: TButton;
    
        aSaveDialog: TSaveDialog;
    
        procedure Button1Click(Sender: TObject);
    
      private
    
        { Private declarations }
    
      public
    
        { Public declarations }
    
      end;
    
     
    
    var
    
      Form1: TForm1;
    
     
    
    implementation
    
     
    
    {$R *.dfm}
    
     
    
    procedure TForm1.Button1Click(Sender: TObject);
    
    var
    
      i, j: Integer;
    
      aFileName, aStampTime: AnsiString;
    
      aa: TFormulaValue;
    
    begin
    
      try
    
        aSaveDialog.InitialDir := ExtractFilePath(ParamStr(0));
    
        aSaveDialog.DefaultExt := 'xls';
    
        aSaveDialog.Filter := 'Excel文件(*.xls)|*.xls';
    
        aStampTime := FormatDateTime('yyyymmddhhnnss', Now);
    
        aSaveDialog.FileName := aStampTime;
    
     
    
        if not aSaveDialog.Execute then
    
          Exit;
    
     
    
        aFileName := aSaveDialog.FileName;
    
        if aFileName = '' then
    
          Exit;
    
      finally
    
     
    
      end;
    
     
    
      try
    
        aXlsObj.Sheets[0].AsWideString[0, 0] := 'id';
    
        aXlsObj.Sheets[0].AsWideString[1, 0] := 'formula';
    
        aXlsObj.Sheets[0].AsWideString[2, 0] := 'lie1';
    
        aXlsObj.Sheets[0].AsWideString[3, 0] := 'lie2';
    
        for i:=1 to 10 do
    
        begin
    
          aXlsObj.Sheets[0].AsWideString[0, i] := Format('%d', [i+1]);
    
          aXlsObj.Sheets[0].AsFormula[1, i] := Format('C%d + D%d', [i+1, i+1]);
    
          aXlsObj.Sheets[0].AsFloat[2, i] := ( i * 5);
    
          aXlsObj.Sheets[0].AsFloat[3, i] := ( i * 4);
    
        end;
    
        for i:=1 to 10 do
    
        begin
    
          aa := aXlsObj.Sheets[0].AsFormulaValue[1 ,i];
    
          case aa.ValType of
    
            fvFloat:   ShowMessage(FloatToStr(aa.vFloat));
    
          end;
    
        end;
    
     
    
        aXlsObj.Filename := aFileName;
    
        aXlsObj.Write;
    
        ShowMessage(Format('导出文件'+#13#10+'%s'+#13#10 +'成功!', [aFileName]));
    
      finally
    
      end;
    
     
    
    end;
    
     
    
    end.
    

      

  • 相关阅读:
    25:最长最短单词
    09:向量点积计算
    08:石头剪刀布
    07:有趣的跳跃
    36:计算多项式的值
    33:计算分数加减表达式的值
    hdu 2289 Cup (二分法)
    Android-补间动画效果
    UVA 586 Instant Complexity
    企业门户(Portal)项目实施方略与开发指南
  • 原文地址:https://www.cnblogs.com/yzryc/p/7676303.html
Copyright © 2011-2022 走看看