g15221806597 2017-03-06 08:25 采纳率: 0%
浏览 2624

c# Aspose设置单元格格式

代码如下,两个对应的list集合,带入aspose中,用公式算出XIRR数据,大多数都是可以算出来,也可以读取出来,只有一条数据,随便造的数据有问题,读取不出来,
A B C
33333.33 2017/02/01 -0.9702
33851.85 2017/03/01

33620.37 2017/03/01

10000 2017/03/01

-100000 2017/03/04

如上数据,直接保存的EXCEL中也是有值的,就是worksheet.Cells["C1"].DoubleValue;获取不到值,这是为什么呢,有没有大神解读下,上面注释代码为测试代码直接读取也是不行的。

public static double XIRR(IList values, IList dates)
{ //Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook("G:\ceshi.xlsx");
////workbook.("G:\ceshi.xlsx");
//Cells cells = workbook.Worksheets[0].Cells;
//string str1 = cells["A1"].StringValue;
//string str2 = cells["C1"].StringValue;

            int count = values.Count;
            Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook();
            Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

            for (int i = 0; i < count; i++)
            {
                worksheet.Cells[string.Format("A{0}", (i + 1))].PutValue(values[i]);
                worksheet.Cells[string.Format("B{0}", (i + 1))].PutValue(dates[i].ToString("yyyy/MM/dd"));
            }

            worksheet.Cells["C1"].Formula = string.Format("=ROUND(XIRR(A1:A{0}, B1:B{1}),4)", count, count);
            workbook.CalculateFormula();
            //workbook.Save("G://ceshi.xlsx");
            return worksheet.Cells["C1"].DoubleValue;       
    }
  • 写回答

1条回答

  • g15221806597 2017-03-06 09:16
    关注

    请大神带入试试,数据都有啦!!!非常感谢!

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料