ExcelExportDocument.cs 1.42 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Hh.Mes.Common.Exel
{
    /// <summary>
    /// Excel导出数据容器(支持双Sheet)
    /// </summary>
    public class ExcelExportDocument<TSheet1, TSheet2>
    {
        /// <summary>
        /// 文件名(含扩展名)
        /// </summary>
        public string FileName { get; set; }

        /// <summary>
        /// 第一个Sheet的数据配置
        /// </summary>
        public ExcelSheet<TSheet1> Sheet1 { get; set; }

        /// <summary>
        /// 第二个Sheet的数据配置
        /// </summary>
        public ExcelSheet<TSheet2> Sheet2 { get; set; }
    }


    /// <summary>
    /// Excel页签配置
    /// </summary>
    public class ExcelSheet<T>
    {
        /// <summary>
        /// 页签显示名称
        /// </summary>
        public string SheetName { get; set; }

        /// <summary>
        /// 数据集合(支持任意IEnumerable类型)
        /// </summary>
        public IEnumerable<T> Data { get; set; }
    }


    /// <summary>
    /// nopi导出实例忽略字段 使用方法在忽略的字段上面加上 [ExcelIgnore]
    /// </summary>
    [AttributeUsage(AttributeTargets.Property)]
    public class ExcelIgnoreNpoiAttribute : Attribute
    {
        // 可扩展参数:如忽略条件表达式
        public string Condition { get; set; }
    }
}