.Net core 利用Npoi.Mapper 生成Excel

1.NuGet 添加Npoi.Mapper 引用

 

2.初始化

  

        private void button1_Click(object sender, EventArgs e)
        {
            //数据导出测试
            List<Person> persons = new List<Person>();
            persons.Add(new Person { Id = 1, Name = "fan1", Age = 11, BirthDate = DateTime.Now.AddYears(11), IsActive = true });
            persons.Add(new Person { Id = 1, Name = "fan2", Age = 12, BirthDate = DateTime.Now.AddYears(12), IsActive = true });
            persons.Add(new Person { Id = 1, Name = "fan3", Age = 13, BirthDate = DateTime.Now.AddYears(13), IsActive = true });
            persons.Add(new Person { Id = 1, Name = "fan4", Age = 14, BirthDate = DateTime.Now.AddYears(14), IsActive = false });
            persons.Add(new Person { Id = 1, Name = "fan4", Age = 14, BirthDate = DateTime.Now.AddYears(14), IsActive = false });
            persons.Add(new Person { Id = 1, Name = "fan4", Age = 14, BirthDate = DateTime.Now.AddYears(14), IsActive = false });
            persons.Add(new Person { Id = 1, Name = "fan4", Age = 14, BirthDate = DateTime.Now.AddYears(14), IsActive = false });
            var mapper = new Npoi.Mapper.Mapper();
            mapper.Save("Persons.xlsx", persons, "sheet1", true, true);
        }
public class Person
{
[Column("编号")]//header的名称
public int Id { get; set; }
[Column("姓名")]
public string Name { get; set; }
[Column("年龄")]
public int Age { get; set; }
[Column("生日", CustomFormat = "yyyy-MM-dd")]
public DateTime BirthDate { get; set; }
[Column("状态")]
public bool IsActive { get; set; }

[Ignore]//忽略此行
public int Ignore { get; set; }
}

  3.读取

            Npoi.Mapper.Mapper mapper = new Npoi.Mapper.Mapper("Persons.xlsx");
            var persons = mapper.Take<Person>("sheet1");
            foreach (var item in persons)
            {
                listBox1.Items.Add(item.Value.Name);
            }

  4.导出效果

 

 

  

posted @ 2022-08-18 09:52  互联网CV工程师  阅读(284)  评论(0编辑  收藏  举报