项目作者: viktor-kostiuk

项目描述 :
Provide a way to export data to Excel
高级语言: C#
项目地址: git://github.com/viktor-kostiuk/ExportDataToExcel.git
创建时间: 2020-04-18T09:35:29Z
项目社区:https://github.com/viktor-kostiuk/ExportDataToExcel

开源协议:

下载


ExportDataToExcel

Provide a way to export data to Excel

Check out article with description of exporter :-)

Export to file

  1. Person[] people = new[]
  2. {
  3. new Person
  4. {
  5. DateOfBirth = new DateTime(1983, 12, 26),
  6. FirstName = "John",
  7. LastName = "Smith"
  8. },
  9. new Person
  10. {
  11. DateOfBirth = new DateTime(1986, 10, 23),
  12. FirstName = "Hipolito",
  13. LastName = "Hudson"
  14. }
  15. };
  16. NpoiExcelDataExporter exporter = new NpoiExcelDataExporter();
  17. exporter.ExportToFile(people, @"D:\Sample.xlsx");
  18.  

With custom properties

  1. //Prepare data
  2. Person[] people = new[]
  3. {
  4. new Person
  5. {
  6. DateOfBirth = new DateTime(1983, 12, 26),
  7. FirstName = "Jon",
  8. LastName = "Snow"
  9. },
  10. new Person
  11. {
  12. DateOfBirth = new DateTime(1986, 10, 23),
  13. FirstName = "Daenerys",
  14. LastName = "Targaryen"
  15. }
  16. };
  17. //Prepare metadata
  18. ModelMetadataBuilder personMetadataBuilder = new ModelMetadataBuilder();
  19. personMetadataBuilder.Property("Name")
  20. .HasProvider(x => x.FirstName + " " + x.LastName);
  21. personMetadataBuilder.Property(x => x.DateOfBirth)
  22. .HasColumnName("Birthday")
  23. .HasProvider(x => x.DateOfBirth?.ToString("MMMM dd"));
  24. //Export
  25. ExportSheetInfo peopleSheet = new ExportSheetInfo
  26. {
  27. Header = "People",
  28. Items = people,
  29. Metadata = personMetadataBuilder.Metadata
  30. };
  31. ExportSheetInfo[] sheets = new[] { peopleSheet };
  32. NpoiExcelDataExporter exporter = new NpoiExcelDataExporter();
  33. using (MemoryStream stream = new MemoryStream())
  34. {
  35. exporter.ExportToStream(sheets, stream);
  36. }
  37.