EPPlus自定义标题列名称

时间:2016-02-10 09:54:15

标签: c# epplus

我有以下代码,它生成带有标题行的Excel。标题的列名称在DataItem类中被命名为变量。

// class for single row item
    public class DataItem
    {
        public int Number { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Country { get; set; }
    }

    // Retrive data items from database and store into conllection.
    var rows = database.GetData().ToList();

    // Create table from collection with automatic header
    ws.Cells["A1"].LoadFromCollection(rows, true, TableStyles.Medium25);

excel标题输出:

Number | FirstName | LastName | Country

我的输出如何定制,例如(添加空格等):

Number | First Name | Last Name | Country

2 个答案:

答案 0 :(得分:3)

我拥有它,解决方案正在关注

ws.Cells["A1"].Value = "Number";
ws.Cells["B1"].Value = "First Name";
ws.Cells["C1"].Value = "Last Name";
ws.Cells["D1"].Value = "Country";

答案 1 :(得分:3)

使用 System.ComponentModel 命名空间中的 DescriptionAttribute 来设置标题中的列名。

public class DataItem
{
    public int Number { get; set; }

    [Description("First name")]
    public string FirstName { get; set; }

    [Description("Last name")]
    public string LastName { get; set; }

    public string Country { get; set; }
}