Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }