Пример #1
0
        public async Task <ActionResult> UploadFile([FromForm] ProductosRequest request)
        {
            string fileExtension = Path.GetExtension(request.Fichero.FileName);

            if (fileExtension == ".xls" || fileExtension == ".xlsx")
            {
                return(Ok(await ProcessExcel(request)));
            }

            return(Ok(await ProcessFile(request)));
        }
Пример #2
0
        private async Task <IEnumerable <Productos> > ProcessExcel(ProductosRequest request)
        {
            List <Productos> productos = new List <Productos>();

            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            using (var stream = new MemoryStream())
            {
                request.Fichero.CopyTo(stream);
                stream.Position = 0;
                using (var reader = ExcelReaderFactory.CreateReader(stream))
                {
                    while (reader.Read()) //Each row of the file
                    {
                        productos.Add(new Productos {
                            Categoria = reader.GetValue(0).ToString(), Nombre = reader.GetValue(1).ToString()
                        });
                    }
                }
            }

            return(productos);
        }
Пример #3
0
 private async Task <string> ProcessFile(ProductosRequest request)
 {
     return(request.Fichero?.ConvertToByteArray().Base64Url());
 }