asp.net-mvc - 在asp.net core 2中上传和读取excel文件

标签 asp.net-mvc excel asp.net-core-2.0 exceldatareader

以前 Asp.Net MVC 有这个第三方库,可以轻松上传和读取名为 Excel Data Reader 的 Excel 文件。我们不需要将文件保存在本地磁盘上,这很好,因为我的应用程序需要在 Azure 上运行。

但是,我们现在正在将此功能移植到 asp.net core 2 中,从搜索结果来看,这似乎是不可能的。有人知道任何允许我这样做的图书馆吗?请注意,我不是在寻找从磁盘读取的解决方案。我想上传一个excel文件并直接从流中读取数据。

最佳答案

I Could Read Excel File In 'Asp .Net Core' By This Code.


使用 EPPlus.Core 导入和导出数据.
    [HttpPost]
    public IActionResult ReadExcelFileAsync(IFormFile file)
    {
        if (file == null || file.Length == 0)
            return Content("File Not Selected");

        string fileExtension = Path.GetExtension(file.FileName);
        if (fileExtension != ".xls" && fileExtension != ".xlsx")
            return Content("File Not Selected");

        var rootFolder = @"D:\Files";
        var fileName = file.FileName;
        var filePath = Path.Combine(rootFolder, fileName);
        var fileLocation = new FileInfo(filePath);

        using (var fileStream = new FileStream(filePath, FileMode.Create))
        {
            await file.CopyToAsync(fileStream);
        }

         if (file.Length <= 0)
             return BadRequest(GlobalValidationMessage.FileNotFound);  

         using (ExcelPackage package = new ExcelPackage(fileLocation))
         {
          ExcelWorksheet workSheet = package.Workbook.Worksheets["Table1"];
          //var workSheet = package.Workbook.Worksheets.First();
          int totalRows = workSheet.Dimension.Rows;

          var DataList = new List<Customers>();

          for (int i = 2; i <= totalRows; i++)
           {
                  DataList.Add(new Customers
                    {
                   CustomerName = workSheet.Cells[i, 1].Value.ToString(),
                   CustomerEmail = workSheet.Cells[i, 2].Value.ToString(),
                   CustomerCountry = workSheet.Cells[i, 3].Value.ToString()
                   });
           }

                _db.Customers.AddRange(customerList);
                _db.SaveChanges();
            }
        return Ok();
}

关于asp.net-mvc - 在asp.net core 2中上传和读取excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658913/

相关文章:

c# - ASP.NET 应用程序获取错误的根 URL

c# - Asp.net Mvc FormsAuth 与 Site.Master 中的 LogonUserControl

c# - 从 asp.net core 2.0 中的中间件获取 HttpContext 中的请求正文

mysql - asp.net core 2 MySQL Driver 3.51 需要 ODBC 吗?

.net - 上传到 EC2 实例上的 S3 TransferUtility.UploadAsync 时为 "The connection with the server was terminated abnormally"

javascript - 分页时 MVC 持久模型

asp.net-mvc - MVC 是编写 asp.net 应用程序的最佳方式吗?

excel - 无法使用 Selenium 和 VBA 从网页的下拉列表中选择复选框

vba - 打开工作簿的上次修改日期

excel - 来自字符串的 VBA TreeView