using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using XYY.Core.Standard.ExcelHelper.MSExcelHelper;

namespace XYY.Core.Standard.ExcelHelper.MSExcelHelper
{
    public interface IExcelHelper
    {
        string OutData<Mapping, T>(List<T> data) where Mapping : MSExcelClassMapping<T>;
        string OutData<Mapping, T>(List<T> data, string fileName) where Mapping : MSExcelClassMapping<T>;
        List<T> LoadData<Mapping, T>(string fileName) where Mapping : MSExcelClassMapping<T>;
        List<T> LoadDataByByte<Mapping, T>(byte[] data) where Mapping : MSExcelClassMapping<T>;
        byte[] OutDataAsByte<Mapping, T>(List<T> data) where Mapping : MSExcelClassMapping<T>;
        byte[] OutDataAsByte<T, Mapping>(List<T> data, Mapping mapping) where Mapping : MSExcelClassMapping<T>;
        byte[] OutLocalTableDataByte(System.Data.DataTable data);
        string OutLocalTableData(System.Data.DataTable data);
        string OutLocalData<T, Mapping>(List<T> data, Mapping mapping) where Mapping : MSExcelClassMapping<T>;
        string OutLocalData<Mapping, T>(List<T> data) where Mapping : MSExcelClassMapping<T>;
        List<T> LoadDataAsStream<Mapping, T>(Stream stream) where Mapping : MSExcelClassMapping<T>;
        byte[] OutDataAsByte<T>(List<T> data, List<MSExcelClassMapping<T>> list);
    }

}
