最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:36:12
文檔

ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例

ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例:ASP.NET Core 使用EPPlus.Core導(dǎo)入導(dǎo)出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件導(dǎo)入導(dǎo)出,可以運(yùn)行在Windows, Linux和Mac。 EPPlus.Core 是基于EPPlus 更改而來,在Linux 下需要安裝libgdiplus 。 EPPlus
推薦度:
導(dǎo)讀ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例:ASP.NET Core 使用EPPlus.Core導(dǎo)入導(dǎo)出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件導(dǎo)入導(dǎo)出,可以運(yùn)行在Windows, Linux和Mac。 EPPlus.Core 是基于EPPlus 更改而來,在Linux 下需要安裝libgdiplus 。 EPPlus

ASP.NET Core 使用EPPlus.Core導(dǎo)入導(dǎo)出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件導(dǎo)入導(dǎo)出,可以運(yùn)行在Windows, Linux和Mac。

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

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

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

下面在ASP.NET Core 中導(dǎo)入導(dǎo)出Excel xlsx 文件。

新建項(xiàng)目

新建一個(gè)ASP.NET Core Web Application 項(xiàng)目ASPNETCoreExcel,選擇Web 應(yīng)用程序 不進(jìn)行身份驗(yàn)證。

然后添加EPPlus.Core 引用。

使用NuGet 命令行:

Install-Package EPPlus.Core

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

導(dǎo)出xlsx文件

新建一個(gè)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,對(duì)應(yīng)可以獲取程序的相關(guān)目錄及屬性。

然后添加Index 視圖增加一個(gè)鏈接導(dǎo)出Excel

@{ 
}
<h2>ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件</h2>
<a asp-action="Export">導(dǎo)出Excel</a>

點(diǎn)擊導(dǎo)出文件,打開結(jié)果如下。

 

導(dǎo)入xlsx文件

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

Index.cshtml

@{ 
}
<h2>ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件</h2>
<a asp-action="Export">導(dǎo)出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);
 }
 }

運(yùn)行程序打開http://localhost:5000/xlsx

上傳對(duì)應(yīng)文件,顯示如下。

ASP.NET Core簡(jiǎn)單的導(dǎo)入導(dǎo)出Excel 功能也就完成了。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例

ASP.NET Core 導(dǎo)入導(dǎo)出Excel xlsx 文件實(shí)例:ASP.NET Core 使用EPPlus.Core導(dǎo)入導(dǎo)出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件導(dǎo)入導(dǎo)出,可以運(yùn)行在Windows, Linux和Mac。 EPPlus.Core 是基于EPPlus 更改而來,在Linux 下需要安裝libgdiplus 。 EPPlus
推薦度:
標(biāo)簽: 文件 xlsx xlsx文件
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top