.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.导出效果


浙公网安备 33010602011771号