中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET Core怎么導入導出Excel xlsx文件

發布時間:2021-09-03 09:57:35 來源:億速云 閱讀:210 作者:chen 欄目:開發技術

本篇內容介紹了“ASP.NET Core怎么導入導出Excel xlsx文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

ASP.NET Core 使用EPPlus.Core導入導出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件導入導出,可以運行在Windows, Linux和Mac。

EPPlus.Core 是基于EPPlus 更改而來,在Linux 下需要安裝libgdiplus 。

EPPlus:http://epplus.codeplex.com/

EPPlus.Core:https://github.com/VahidN/EPPlus.Core

下面在ASP.NET Core 中導入導出Excel xlsx 文件。

新建項目

新建一個ASP.NET Core Web Application 項目ASPNETCoreExcel,選擇Web 應用程序 不進行身份驗證。

然后添加EPPlus.Core 引用。

使用NuGet 命令行:

Install-Package EPPlus.Core

也可以使用NuGet包管理器安裝。

導出xlsx文件

新建一個XlsxController ,添加Export 操作。

 public class XlsxController : Controller
 {
  private IHostingEnvironment _hostingEnvironment;

  public XlsxController(IHostingEnvironment hostingEnvironment)
  {
   _hostingEnvironment = hostingEnvironment;
  }
  public IActionResult Index()
  {
   return View();
  }

  public IActionResult Export()
  {
   string sWebRootFolder = _hostingEnvironment.WebRootPath;
   string sFileName = $"{Guid.NewGuid()}.xlsx";
   FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
   using (ExcelPackage package = new ExcelPackage(file))
   {
    // 添加worksheet
    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("aspnetcore");
    //添加頭
    worksheet.Cells[1, 1].Value = "ID";
    worksheet.Cells[1, 2].Value = "Name";
    worksheet.Cells[1, 3].Value = "Url";
    //添加值
    worksheet.Cells["A2"].Value = 1000;
    worksheet.Cells["B2"].Value = "LineZero";
    worksheet.Cells["C2"].Value = "http://www.cnblogs.com/linezero/";

    worksheet.Cells["A3"].Value = 1001;
    worksheet.Cells["B3"].Value = "LineZero GitHub";
    worksheet.Cells["C3"].Value = "https://github.com/linezero";
    worksheet.Cells["C3"].Style.Font.Bold = true;

    package.Save(); 
   }
   return File(sFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
  }
 }

通過依賴注入獲取HostingEnvironment,對應可以獲取程序的相關目錄及屬性。

然后添加Index 視圖增加一個鏈接導出Excel

@{ 
}
<h3>ASP.NET Core 導入導出Excel xlsx 文件</h3>
<a asp-action="Export">導出Excel</a>

點擊導出文件,打開結果如下。

 ASP.NET Core怎么導入導出Excel xlsx文件

導入xlsx文件

在index視圖中添加一個上傳文件,添加Import操作。

Index.cshtml

@{ 
}
<h3>ASP.NET Core 導入導出Excel xlsx 文件</h3>
<a asp-action="Export">導出Excel</a>
<hr />
<form enctype="multipart/form-data" method="post" asp-action="Import">
 <input type="file" name="excelfile" />
 <input type="submit" value="上傳" />
</form>
 [HttpPost]
  public IActionResult Import(IFormFile excelfile)
  {
   string sWebRootFolder = _hostingEnvironment.WebRootPath;
   string sFileName = $"{Guid.NewGuid()}.xlsx";
   FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
   try
   {
    using (FileStream fs = new FileStream(file.ToString(), FileMode.Create))
    {
     excelfile.CopyTo(fs);
     fs.Flush();
    }
    using (ExcelPackage package = new ExcelPackage(file))
    {
     StringBuilder sb = new StringBuilder();
     ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
     int rowCount = worksheet.Dimension.Rows;
     int ColCount = worksheet.Dimension.Columns;
     bool bHeaderRow = true;
     for (int row = 1; row <= rowCount; row++)
     {
      for (int col = 1; col <= ColCount; col++)
      {
       if (bHeaderRow)
       {
        sb.Append(worksheet.Cells[row, col].Value.ToString() + "\t");
       }
       else
       {
        sb.Append(worksheet.Cells[row, col].Value.ToString() + "\t");
       }
      }
      sb.Append(Environment.NewLine);
     }
     return Content(sb.ToString());
    }
   }
   catch (Exception ex)
   {
    return Content(ex.Message);
   }
  }

運行程序打開http://localhost:5000/xlsx

ASP.NET Core怎么導入導出Excel xlsx文件

上傳對應文件,顯示如下。

ASP.NET Core怎么導入導出Excel xlsx文件

“ASP.NET Core怎么導入導出Excel xlsx文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

于都县| 洛浦县| 南宫市| 惠来县| 亳州市| 嘉禾县| 荣昌县| 水城县| 仙桃市| 资中县| 凯里市| 合阳县| 无棣县| 湖北省| 梅州市| 曲水县| 九龙城区| 临猗县| 大石桥市| 靖西县| 鄂温| 郁南县| 剑川县| 明光市| 桓仁| 榆中县| 玛曲县| 昔阳县| 平原县| 万盛区| 梁河县| 堆龙德庆县| 新巴尔虎左旗| 德庆县| 陆良县| 镇坪县| 新乐市| 旬邑县| 宁安市| 当涂县| 东丰县|