public byte[] Produce(ExportOption exportOption) { var i = 0; IWorkbook workbook = new XSSFWorkbook(); if (exportOption.ExportFormat == ExportFormat.XLS) { workbook = new HSSFWorkbook(); } var mapper = new global::Npoi.Mapper.Mapper(workbook); exportOption.ExportData.ForEach(data => { ISheet sheet = workbook.CreateSheet(data.SheetName); mapper.ForHeader(cell => { sheet.AutoSizeColumn(cell.ColumnIndex); }); mapper.Put <Object>(data.Datas, i); i++; }); MemoryStream memoryStream = new MemoryStream(); mapper.Workbook.Write(memoryStream); var datas = memoryStream.ToArray(); memoryStream.Close(); return(datas); }
public List <T> Read <T>(string filePath, string sheetName) where T : class, new() { var file = _virtualFileProvider.GetFileInfo(filePath); if (!file.Exists) { return(null); } global::Npoi.Mapper.Mapper mapper = new global::Npoi.Mapper.Mapper(file.CreateReadStream()); List <T> sheet = mapper.Take <T>(sheetName).Select(x => x.Value).ToList(); return(sheet); }
public byte[] Produce <T>(string sheetName, IEnumerable <T> modelJson) where T : class { IWorkbook workbook = new XSSFWorkbook(); ISheet sheet = workbook.CreateSheet(sheetName); var mapper = new global::Npoi.Mapper.Mapper(workbook); mapper.ForHeader(cell => { sheet.AutoSizeColumn(cell.ColumnIndex); }); mapper.Put <T>(modelJson, 0); MemoryStream memoryStream = new MemoryStream(); mapper.Workbook.Write(memoryStream); var datas = memoryStream.ToArray(); memoryStream.Close(); return(datas); }