C#操作Excel的函数

对于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,为了减少程序出错,及保证完整性,建议童鞋们一起用,否则出错了都不知那个原因。

二、将库导入相应的项目中

在解决方案中右键点引用,选择“添加引用”将三个下载的库文件添加,如图

C#操作Excel的函数

三、使用

首先引用

  1. using   Excel;

下面以IsNumber函数作为例子。先声明一个实例,这样直接调用相应函数

  1. Microsoft.Office.Interop.Excel.ApplicationClass   excel=
  2. new   Microsoft.Office.Interop.Excel.ApplicationClass();
  3. bool   b=excel.WorksheetFunction.IsNumber( "ABC ");

可用的函数非常多,函数的参数也提示给你了,若还不知道该函数的使用方法,可以到Excel中找相应的函数说明。
如图

C#操作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,则:

C#操作Excel的函数

如果 rate 为 0,则:

(pmt * nper) + pv + fv = 0

示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

C#操作Excel的函数如何复制示例?

 
1
2
3
4
5
6
A B
数据 说明
500 每月底一项保险年金的支出
8% 投资收益率
20 付款的年限
公式 说明(结果)
=PV(A3/12, 12*A4, A2, , 0) 在上述条件下年金的现值 (-59,777.15)。

结果为负值,因为这是一笔付款,亦即支出现金流。如果年金的购买成本是 (60,000),则您可以确定这不是一项合算的投资,因为年金的现值 (59,777.15) 小于实际支付值。

注释   利率除以 12 得到月利率。支付的年数乘以 12 得到支付次数。

此文章对您是否有帮助?
上一篇:OpenXml入门---word里面插入图片


下一篇:一个java高级工程师的进阶