网游之从零开始,求实英语,玉林人才
导出excel是程序很常用到的功能,.net core可以借助open-xml-sdk来导出excel。
open-xml-sdk
open-xml-sdk是是微软开源的项目。open xml sdk是用于open xml文档(docx, xlsx, and pptx)的开源类库。它可以:
依赖 windowsbase 或 system.io.packaging
开源地址:open-xml-sdk
nuget:documentformat.openxml
示例
首先添加nuget包引用
直接上代码:
static void main(string[] args) { var spreadsheetdocument = spreadsheetdocument.create("f:\\openxml.xlsx", spreadsheetdocumenttype.workbook); var workbookpart = spreadsheetdocument.addworkbookpart(); workbookpart.workbook = new workbook(); worksheetpart worksheetpart = workbookpart.addnewpart(); worksheetpart.worksheet = new worksheet(new sheetdata()); sheets sheets = spreadsheetdocument.workbookpart.workbook.appendchild(new sheets()); sheet sheet = new sheet() { id = spreadsheetdocument.workbookpart.getidofpart(worksheetpart), sheetid = 1, name = "sheet1" }; sheets.append(sheet); var sheetdata = worksheetpart.worksheet.getfirstchild(); for (int i = 0; i < 10; i++) { row row = new row(); for (int j = 0; j < 10; j++) { cell datacell = new cell(); datacell.cellvalue = new cellvalue($"{i + 1}行{j + 1}列"); datacell.datatype = new enumvalue(cellvalues.string); row.appendchild(datacell); } sheetdata.append(row); } workbookpart.workbook.save(); spreadsheetdocument.close(); }
导出的excel如图:
读取excel
读取excel的代码会相对简单一些:
static void main(string[] args) { using (spreadsheetdocument doc = spreadsheetdocument.open(@"f:\openxml.xlsx", false)) { workbookpart wbpart = doc.workbookpart; sheet mysheet = (sheet)doc.workbookpart.workbook.sheets.childelements.firstordefault(); worksheet worksheet = ((worksheetpart)wbpart.getpartbyid(mysheet.id)).worksheet; sheetdata sheetdata = (sheetdata)worksheet.childelements.firstordefault(); foreach (var row in sheetdata.childelements) { foreach (var cell in (row as row).childelements) { var cellvalue = (cell as cell).cellvalue; if (cellvalue != null) { console.writeline(cellvalue.text); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论