public static async Task <DataTable> ParseMultipartAsync(this HttpContent postedContent) { ExcelHandler excelHandler = new ExcelHandler(); var provider = await postedContent.ReadAsMultipartAsync(); string worksheetName = "Sheet1"; string cellName = "B2"; var files = new Dictionary <string, HttpPostedFile>(StringComparer.InvariantCultureIgnoreCase); var fields = new Dictionary <string, HttpPostedField>(StringComparer.InvariantCultureIgnoreCase); var ExcelData = new Dictionary <string, string>(); DataTable table = new DataTable(); foreach (var content in provider.Contents) { var fieldName = content.Headers.ContentDisposition.Name.Trim('"'); if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName)) { var file = await content.ReadAsByteArrayAsync(); //MatchRes = FingerprintMatcher.MatchPrintInnovatrics(file); var fileName = content.Headers.ContentDisposition.FileName.Trim('"'); string folderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Xlxs_Files"); CreateFolder(folderPath); using (FileStream fileStream = new FileStream(Path.Combine(folderPath, fileName), FileMode.OpenOrCreate)) { fileStream.Write(file, 0, file.Length); fileStream.Close(); } files.Add(fieldName, new HttpPostedFile(fieldName, fileName, file)); if (fileName.EndsWith(".xlsx") || (fileName.EndsWith(".xls"))) { excelHandler.Extention = "true"; //ExcelData = ExcelHandler.GetDefinedNames(Path.Combine(folderPath, fileName)); table = excelHandler.ImportExcel(Path.Combine(folderPath, fileName)); //excelHandler.CreateSpreadsheetWorkbook(Path.Combine(folderPath, fileName)); } else { var data = await content.ReadAsStringAsync(); fields.Add(fieldName, new HttpPostedField(fieldName, data)); } } return(table); } return(table); }