IExportApplication.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Hotline.Share.Dtos.CallCenter;
  2. using Hotline.Share.Dtos.Order;
  3. using Hotline.Share.Enums.Article;
  4. using Microsoft.AspNetCore.Http;
  5. using Microsoft.AspNetCore.Mvc;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace Hotline.Application.ExportExcel
  12. {
  13. public interface IExportApplication
  14. {
  15. /// <summary>
  16. /// 导出数据
  17. /// </summary>
  18. /// <typeparam name="T"></typeparam>
  19. /// <param name="list">数据集List<T></param>
  20. /// <param name="name">导出文件名(不传则生成yyyyMMddhhmmss)</param>
  21. /// <returns></returns>
  22. FileStreamResult ExportData<T>(IList<T> list, string? name);
  23. Stream GetExcelStream<T, D>(ExportExcelDto<D> dto, IList<T> items, Func<IList<T>, T>? func = null);
  24. FileStreamResult GetExcelFile<T, D>(ExportExcelDto<D> dto, IList<T> items,string fileName, Func<IList<T>, T>? func = null);
  25. /// <summary>
  26. /// 导入数据
  27. /// </summary>
  28. /// <typeparam name="T">导出数据的类型</typeparam>
  29. /// <typeparam name="D">导出请求入参类型</typeparam>
  30. /// <param name="dto">请求入参</param>
  31. /// <param name="items">被导出的数据</param>
  32. /// <param name="fileName">excel 文件名</param>
  33. /// <param name="totalName">需要填写"统计"两字的字段名称, 字段名称必须是 T 中的字段</param>
  34. /// <returns></returns>
  35. FileStreamResult GetExcelFile<T, D>(ExportExcelDto<D> dto, IList<T> items, string fileName, string totalName) where T : new();
  36. }
  37. }