导出Excel是程序很常用到的功能,.Net Core可以借助Open-XML-SDK来导出Excel。
Open-XML-SDK
open-xml-sdk是是微软开源的项目。Open XML SDK是用于Open XML文档(DOCX, XLSX, and PPTX)的开源类库。它可以:
- 生成Word,Excel,PPT时有非常好的性能
- 从XML数据源中填充内容到Word文档中
- 可将单个Word,Excel,PPT分成多个文件或者将多个合并到一个文件中
- DOCX => HTML/CSS 和 HTML/CSS => DOCX 提供友好便捷的方式
- 提取Excel中的数据
- 用正则表达式查找或者替换DOCX / PPTX中的内容
- 更新 DOCX / PPTX 中缓存的数据或者嵌入的表格.
- 文档内容的修改, 例如从文件中删除跟踪的修订或删除不可接受的内容.
依赖 WindowsBase 或 System.IO.Packaging
开源地址:Open-XML-SDK
Nuget:DocumentFormat.OpenXml
Open XML SDK for Office 文档
示例
首先添加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); } } } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年09月21日
2024年09月21日
- 群星《顶级发烧大碟 蒙面歌王争霸战 2CD》[WAV/分轨][1.3GB]
- 群星.2009-原班情歌2CD【SONY】【WAV+CUE】
- 群星.2024-长乐曲电视剧原声带【TME影音】【FLAC分轨】
- 群星.1993-烧得厉害VOL.1好戏好歌唱不停【滚石】【WAV+CUE】
- 魔兽世界wlk阿奴巴拉克怎么打 wlk阿奴巴拉克机制与打法
- 归龙潮阿律的笛子位置在哪 阿律的笛子图文位置一览
- 归龙潮中浦城区福鼠位置在哪 中浦城区福鼠收集位置大全
- NewViennaOctetViennaWindSoloists-TheDeccaRecordings(2024)18CD[24-48][FLAC]-9
- MatteoPasqualini-JohannSebastianBachItalienischesKonzertFranzsischeOuvertureVierDue
- 【雨果唱片】陈百强《梦里人LPCD45》2012[WAV+CUE]
- 《黑神话》纪录片9月20日上线!揭秘关卡为何删减
- 游戏科学估值已和育碧市值相当:后者有两万多名员工
- 黑神话第81周目Boss伤害有多恐怖?起手伤害直接秒
- 群星.2009-原班情歌2CD【SONY】【WAV+CUE】
- 群星.2024-长乐曲电视剧原声带【TME影音】【FLAC分轨】