日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core 中导入导出Excel

發(fā)布時間:2023/12/4 asp.net 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core 中导入导出Excel 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

操作Excel是一個比較常見的業(yè)務場景,本篇將使用EPPlus簡單演示一個導入導出的示例。

EPPlus開源地址:https://github.com/EPPlusSoftware/EPPlus

在項目中添加EPPlus組件

Install-Package EPPlus

導入

先準備一個Excel文件,將其內(nèi)容讀取出來,并序列化成JSON字符串進行返回。

[HttpPost] public?List<ExcelDemoDto>?Import([FromForm]?ImportExcelInput?input) {var?list?=?new?List<ExcelDemoDto>();using?(var?package?=?new?ExcelPackage(input.ExcelFile.OpenReadStream())){//?獲取到第一個Sheet,也可以通過?Worksheets["name"]?獲取指定的工作表var?sheet?=?package.Workbook.Worksheets.First();#region?獲取開始和結束行列的個數(shù),根據(jù)個數(shù)可以做各種校驗工作//?+1?是因為第一行往往我們獲取到的都是Excel的標題int?startRowNumber?=?sheet.Dimension.Start.Row?+?1;int?endRowNumber?=?sheet.Dimension.End.Row;int?startColumn?=?sheet.Dimension.Start.Column;int?endColumn?=?sheet.Dimension.End.Column;#endregion//?循環(huán)獲取整個Excel數(shù)據(jù)表數(shù)據(jù)for?(int?currentRow?=?startRowNumber;?currentRow?<=?endRowNumber;?currentRow++){list.Add(new?ExcelDemoDto{AAA?=?sheet.Cells[currentRow,?1].Text,BBB?=?sheet.Cells[currentRow,?2].Text,CCC?=?sheet.Cells[currentRow,?3].Text,DDD?=?sheet.Cells[currentRow,?4].Text,EEE?=?sheet.Cells[currentRow,?5].Text,FFF?=?sheet.Cells[currentRow,?6].Text});}}return?list; }public?class?ExcelDemoDto {public?string?AAA?{?get;?set;?}public?string?BBB?{?get;?set;?}public?string?CCC?{?get;?set;?}public?string?DDD?{?get;?set;?}public?string?EEE?{?get;?set;?}public?string?FFF?{?get;?set;?} }public?class?ImportExcelInput {public?IFormFile?ExcelFile?{?get;?set;?} }

導出

[HttpGet] public?async?Task<string>?Export() {using?var?package?=?new?ExcelPackage();var?worksheet?=?package.Workbook.Worksheets.Add("sheet1");var?headers?=?new?string[]?{?"AAA",?"BBB",?"CCC",?"DDD",?"EEE",?"FFF"?};for?(int?i?=?0;?i?<?headers.Length;?i++){worksheet.Cells[1,?i?+?1].Value?=?headers[i];worksheet.Cells[1,?i?+?1].Style.Font.Bold?=?true;}//?模擬數(shù)據(jù)var?list?=?new?List<ExcelDemoDto>();for?(int?i?=?1;?i?<=?10;?i++){list.Add(new?ExcelDemoDto{AAA?=?$"A{i}",BBB?=?$"B{i}",CCC?=?$"C{i}",DDD?=?$"D{i}",EEE?=?$"E{i}",FFF?=?$"F{i}"});}//?支持各種直接獲取數(shù)據(jù)的方法//?worksheet.Cells.Load*...int?row?=?2;foreach?(var?item?in?list){worksheet.Cells[row,?1].Value?=?item.AAA;worksheet.Cells[row,?2].Value?=?item.BBB;worksheet.Cells[row,?3].Value?=?item.CCC;worksheet.Cells[row,?4].Value?=?item.DDD;worksheet.Cells[row,?5].Value?=?item.EEE;worksheet.Cells[row,?6].Value?=?item.FFF;row++;}//?通常做法是,將excel上傳至對象存儲,獲取到下載鏈接,這里將其輸出到項目根目錄。var?path?=?Path.Combine(Directory.GetCurrentDirectory(),?$"excel.xlsx");await?package.GetAsByteArray().DownloadAsync(path);return?path; }

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的.NET Core 中导入导出Excel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。