导出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); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持站长技术。
为了不引起编程人员的误解和开发语言之争,小编先声明一下,这个榜单统计的是跨...
图片来自 Pexels 现象与问题 ORDER BY 排序后,用 LIMIT 取前几条,发现返回的结...
拖拽是一种常见的特性,即抓取对象以后拖到另一个位置。 在 HTML5 中,拖拽是标...
在我们这个XML指南里,我们把焦点放在InternetExplorer5.0及其以后的版本上。 We...
一般现今ASP木马常通过以下四点来操作服务器,所以我们只要将一下四处设置好就能...
PHP简易用户登录系统,供大家参考,具体内容如下 最近刚刚看到PHP连接数据库的实...
HTML meta viewport属性说明 什么是Viewport 手机浏览器是把页面放在一个虚拟的...
文章目录 前言 一、创建工程之后的项目结构截图 二、项目结构讲解 1.gradle和.id...
AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一...
1.原来只要是分开了的人,不论原来多么熟悉,也会慢慢变得疏远。 2.不爱非要爱...