【问题标题】:EPPlus: "Column out of range" error with LoadFromCollectionEPPlus:LoadFromCollection 出现“列超出范围”错误
【发布时间】:2018-07-04 09:36:12
【问题描述】:

LoadFromCollection 出现“列超出范围”错误 - 代码如下。插入到EPPlus自带的SampleApp中进行复制。

我做错了什么还是一个错误?还是我没有设置的配置设置?

public class tst
    {
        public string Name;
        [Description("Created Time")]
        public DateTime Created_time;
    }


     var pck = new ExcelPackage();

            var kpcollection = new List<tst>();
            for (var i = 1; i <= 10; i++)
            {
                kpcollection.Add(new tst
                {
                    Name = "line" + i.ToString(),
                    Created_time = DateTime.Now
                });
            }

            var wsenum = pck.Workbook.Worksheets.Add("KPTest");
            //Load the collection starting from cell A1...
            wsenum.Cells["A1"].LoadFromCollection(kpcollection, true, TableStyles.Medium9);

【问题讨论】:

    标签: epplus


    【解决方案1】:

    为每个变量添加像{ get; set;} 这样的属性,因为 epplus 的工作方式是在类的属性上。

    例如,不要使用:

    class student
    {
        int num;
       string name;
    }
    

    使用这个:

    class student
    {
         int num { get; set; }
         string name { get; set; }
    }
    

    【讨论】:

      【解决方案2】:

      这是 EPPlus 库中的一个错误,它是 has been reported on September 25, 2017

      【讨论】:

      • 只有在使用 List 时才会出现此错误。 OP的问题将通过Harish的回答得到解决。 EPPlus 使用可访问的 setter 处理属性。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 2018-04-08
      相关资源
      最近更新 更多