C#操作Excel的函数
我们经常需要将数据导入到Excel,或直接打开Excel文档,读写文件操作,这需要用到ExcelHelper类,有了这个类,这些操作大大的减少我们工作量。
ExcelHepler.cs这个类,我博客上有完整的代码。详见
至于如何用,这里不一一说明,相信大家琢磨一下就可以写出。
言归正传,我们要讨论的事,Excel的函数如何给.NET使用。众所周知,Excel的函数强大,及其使用方法都被我们所接受。有时为了一个不常用NET的函数,要费九牛二虎之力,自己写函数或找开源代码,最后也不是很理想,若我们直接调用Excel现成的函数,那该有多好啊。
一、找到相就的Excel包含函数库文件
三个Excel的库文件,下载地址http://download.csdn.net/detail/cndrip/4559300
这里包含了三个件Interop.Excel.dll Interop.Office.dll Interop.VBIDE.dll,其中与本文直接相关的Interop.Excel.dll,为了减少程序出错,及保证完整性,建议童鞋们一起用,否则出错了都不知那个原因。
二、将库导入相应的项目中
在解决方案中右键点引用,选择“添加引用”将三个下载的库文件添加,如图

三、使用
首先引用
- using Excel;
下面以IsNumber函数作为例子。先声明一个实例,这样直接调用相应函数
- Microsoft.Office.Interop.Excel.ApplicationClass excel=
- new Microsoft.Office.Interop.Excel.ApplicationClass();
- bool b=excel.WorksheetFunction.IsNumber( "ABC ");
可用的函数非常多,函数的参数也提示给你了,若还不知道该函数的使用方法,可以到Excel中找相应的函数说明。
如图

转载自http://blog.csdn.net/cndrip/article/details/7961531
EXCEL PV 函数
本文介绍 Microsoft Excel 中 PV 函数的公式语法和用法。
说明
返回投资的现值。现值为一系列未来付款的当前值的累积和。例如,借入方的借入款即为贷出方贷款的现值。
语法
PV(rate, nper, pmt, [fv], [type])
PV 函数语法具有下列参数:
- Rate 必需。各期利率。例如,如果按 10% 的年利率借入一笔贷款来购买汽车,并按月偿还贷款,则月利率为 10%/12(即 0.83%)。可以在公式中输入 10%/12、0.83% 或 0.0083 作为 rate 的值。
- Nper 必需。年金的付款总期数。例如,对于一笔 4 年期按月偿还的汽车贷款,共有 4*12(即 48)个偿款期。可以在公式中输入 48 作为 nper 的值。
- Pmt 必需。各期所应支付的金额,其数值在整个年金期间保持不变。通常,pmt 包括本金和利息,但不包括其他费用或税款。例如,¥10,000 的年利率为 12% 的四年期汽车贷款的月偿还额为 ¥263.33。可以在公式中输入 -263.33 作为 pmt 的值。如果省略 pmt,则必须包含 fv 参数。
- Fv 可选。未来值,或在最后一次支付后希望得到的现金余额,如果省略 fv,则假设其值为 0(例如,一笔贷款的未来值即为 0)。例如,如果需要存 ¥50,000 以便在 18 年后为特殊项目付款,则 ¥50,000 就是未来值。可以根据保守估计的利率来决定每月的存款额。如果省略 fv,则必须包含 pmt 参数。
- Type 可选。数字 0 或 1,用以指定各期的付款时间是在期初还是期末。
| TYPE 值 | 支付时间 |
|---|---|
| 0 或省略 | 期末 |
| 1 | 期初 |
说明
- 应确认所指定的 rate 和 nper 单位的一致性。例如,同样是四年期年利率为 12% 的贷款,如果按月支付,rate 应为 12%/12,nper 应为 4*12;如果按年支付,rate 应为 12%,nper 为 4。
- 以下函数应用于年金:
| CUMIPMT | PPMT |
|---|---|
| CUMPRINC | PV |
| FV | RATE |
| FVSCHEDULE | XIRR |
| IPMT | XNPV |
| PMT |
- 年金是在一段连续期间内的一系列固定的现金付款。例如汽车贷款或购房贷款就是年金。有关详细信息,请参阅各年金函数的详细说明。
- 在年金函数中,支出的款项,如银行存款,表示为负数;收入的款项,如股息收入,表示为正数。例如,对于储户来说,¥1000 银行存款可表示为参数 -1,000,而对于银行来说该参数为 1000。
- 下面列出的是 Microsoft Excel 进行财务运算的公式,如果 rate 不为 0,则:

如果 rate 为 0,则:
(pmt * nper) + pv + fv = 0
示例
如果将示例复制到一个空白工作表中,可能会更容易理解该示例。
|
|
结果为负值,因为这是一笔付款,亦即支出现金流。如果年金的购买成本是 (60,000),则您可以确定这不是一项合算的投资,因为年金的现值 (59,777.15) 小于实际支付值。
注释 利率除以 12 得到月利率。支付的年数乘以 12 得到支付次数。
C#操作Excel的函数的更多相关文章
- NPOI操作Excel常用函数
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...
- 【转】.NET NPOI操作Excel常用函数
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...
- python 操作excel 的包 函数
###########sample 1 https://blog.csdn.net/chengxuyuanyonghu/article/details/54951399 python操作excel主要 ...
- PLSQL操作excel
一.plsql数据库操作: 删除数据前备份一张表: create table plat_counter_def_bf as select * from plat_monitor_counter_def ...
- Qt QAxObject操作excel文件过程总结(转):
正好同事问道Qt下操作excel. 转自:http://blog.csdn.net/a156392343/article/details/48092515 配制方面: 1.确保Excel软件在本地服务 ...
- 浅谈Excel开发:五 Excel RTD函数
上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...
- 浅谈Excel开发:四 Excel 自定义函数
我们知道,Excel中有很多内置的函数,比如求和,求平均,字符串操作函数,金融函数等等.在有些时候,结合业务要求,这些函数可能不能满足我们的需求,比如我想要一个函数能够从WebService上获取某只 ...
- C#操作Excel的技巧与方法 设置单元格等
C#操作Excel可以分为客户端和插件版本,区别就是是否需要Excel环境,功能实现一样 一.通用操作与处理(有点乱有时间再整理) 1:工程对excel类库的导入,如: c:\program file ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
随机推荐
- 快速入门系列--Log4net日志组件
Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHi ...
- mongodb php
首先安装扩展,然后才能使用mongodb 一.连接数据库 try { $mongo = new MongoClient(); $db = $mongo->mydb; var_dump($db); ...
- JSP网站开发基础总结《十二》
前两篇已经简单为大家介绍了一下,有关Filter接口的知识,本篇就让我们以一个登录小功能,来具体实现一下过滤器的作用,便于大家掌握.具体为大家介绍一下如何使用Filter对访问进行过滤,及如何防止中文 ...
- PHP 自制日历
最近的一个项目中,需要将数据用日历方式显示,网上有很多的JS插件,后面为了自己能有更大的控制权,决定自己制作一个日历显示.如下图所示: 一.计算数据 1.new一个Calendar类 2.初始化两个下 ...
- HTML5移动Web开发(十)——在浏览器中启动手机原生应用
用户可以在浏览器中启动移动设备的原生应用程序,比如地图.电话.短信等,具体能够启动哪些应用程序,这取决于该移动设备上哪些原生应用是否允许从浏览器启动. 新建ch02r05.html <!doct ...
- caffe 试运行MNIST
转自:http://www.cnblogs.com/NanShan2016/p/5469942.html 编译完caffe后,在D:\caffe\caffe-master\caffe-master\b ...
- SURF算子(1)
SURF算子,参考这篇文章的解释http://www.ipol.im/pub/art/2015/69/ SURF 是 Speeded Up Robust Features 加速鲁棒特征的含义. T ...
- 在SQL Server 2014里,如何用资源调控器压制你的存储?
在今天的文章里,我想谈下SQL Server 2014里非常酷的提升:现在你终于可以根据需要的IOPS来压制查询!资源调控器(Resource Governor)自SQL Server 2008起引入 ...
- Hyperledger中数据存取的实现
简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...
- winform中ComboBox利用AutoComplete属性实现模糊查询(有缺陷)
上一篇文章是用ComboBox里面的原生事件实现模糊查询,操作比较灵活一些,但是收到评论说,利用AutoComplete属性就可以实现模糊查询,但是据本人所了解,AutoComplete虽然能够方便的 ...
全部显示