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.

  

TXLSReadWriteII 公式计算的更多相关文章

  1. 用python实现计算1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))类似的公式计算

    作业需求: 开发一个简单的python计算器 1.实现加减乘除及拓号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 ...

  2. WPF实现强大的动态公式计算

    数据库可以定义表不同列之间的计算公式,进行自动公式计算,但如何实现行上的动态公式计算呢?行由于可以动态扩展,在某些应用场景下将能很好的解决实际问题. 1.VS2012新建一个WPF应用程序WpfApp ...

  3. 使用Machin公式计算

    使用Machin公式计算,并使用百亿进制+末项位数控制,这里可算出数万位(比最简PI快80倍),源代码约40行,在本网页中. 计算公式 PI=16arctg(1/5)-4arctg(1/239),其中 ...

  4. c语言详解  蔡勒(Zeller)公式计算某一天是星期几  极其方便

    —— 蔡勒(Zeller)公式 ,小于等于14,即在蔡勒公式中,某年的1.2月要看作上一年的13.14月来计算,比如2003年1月1日要看作2002年的13月1日来计算):d:日:[ ]代表取整,即只 ...

  5. Windows API方式直接调用C#的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C++、VB、Delphi甚至java都可以)

    原始链接 https://www.cnblogs.com/Charltsing/p/DllExport.html 这两年,我在VBA应用方面一直有几大痛点:1.多音字转拼音:2.64位下的GZIP解压 ...

  6. Codeforces Round #532 (Div. 2)- C(公式计算)

    NN is an experienced internet user and that means he spends a lot of time on the social media. Once ...

  7. 【Zeller公式计算星期几】HDU 6112 今夕何夕

    acm.hdu.edu.cn/showproblem.php?pid=6112 [思路] 公式计算即可,注意特判2月29号 Zeller公式里,计算出的week不能直接模7,要保证week是正数 [A ...

  8. C语言:根据以下公式计算s,s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) -在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,

    //根据一下公式计算s,并将计算结果作为函数返回值,n通过形参传入.s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) #include <stdio.h> ...

  9. SpreadJS + GcExcel 一出,谁与争锋!全栈表格技术轻松应对复杂公式计算场景(一)

    设计思路篇 Excel是我们日常办公中最常用的电子表格程序,不仅可满足报表数据的计算需求,还可提供绘图.数据透视分析.BI和Visual Basic for Applications (VBA)宏语言 ...

随机推荐

  1. 剑指Offer 48. 不用加减乘除做加法 (其他)

    题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 题目地址 https://www.nowcoder.com/practice/59ac416b4b944300 ...

  2. 使用Sublime Text 3进行Markdown 编辑+实时预览

    这种做法可能会对你的磁盘IO造成一小部分性能负担,但负面影响足以忽略. 另外,由于这种频率的读写会被磁盘缓存接管,不必担心磁盘寿命的影响. 对于刚安装好的Sublime Text,我们需要安装一个软件 ...

  3. erlang工作总结

    总结下自己在做erlang的经验 1.不管什么样的情况下,一定要关注好函数的返回值再来使用,不知道返回值盲目的使用的话,不仅不能达到目标,而且不存在代码/报错提醒.得不偿失. 2.构思好自己的想法,定 ...

  4. Shiro 整合SpringMVC 并实现权限管理,登录和注销

    Shiro 整合SpringMVC 并且实现权限管理,登录和注销 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring S ...

  5. Windows10下安装MySQL8.0

    1:首先去官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ 这是我下载版本 2:将解压文件解压到你安装的目录:E:\mysql-8.0.11-wi ...

  6. 小妖精的完美游戏教室——东方project,同人,自机

    //================================================================ //// Copyright (C)// All Rights R ...

  7. js 自定义类Android吐司提示框

    (function(){     var mouseX = 0;     var mouseY = 0;     //定义一个全局toaslist用来存在新建的吐司     var toastLsit ...

  8. Redis集群配置(linux)

     *弄了一天,有问题直接问我.qq:137416943   1.redis集群的配置和简单使用   Redis集群配置 0.首先要配置环境: 0.1 安装c++ yum install gcc-c++ ...

  9. ajax 调用webservice 跨域问题

    注意两点 1. 在webservice的config中加入这段位置 (注意不是调用webservice的webconfig中加入) <system.webServer>     <! ...

  10. sql 50题

    /* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50717 Source Host : ...