使用C#结合XmlDocument和EPPlus可高效将XML数据导出到Excel。首先通过NuGet安装EPPlus库,然后加载XML文件并解析Record节点,提取Name、Age、City等字段存入字典列表,接着创建Excel工作表,写入表头和数据行,最后自动调整列宽并保存文件。该方法适用于配置导入、报表生成等场景,支持UTF-8中文内容,建议对大型文件使用XmlReader流式读取以提升性能。
在.NET开发中,处理XML数据并将其导出到Excel是常见的业务需求,比如配置导入、报表生成等场景。C#结合 System.Xml 和 EPPlus 或 NPOI 可以高效完成这一任务。以下是一个实用、结构清晰的代码片段,帮助你快速实现从XML读取到Excel写入的流程。
推荐使用 EPPlus(支持 .NET 6+),它操作 Excel (.xlsx) 文件简单高效。
通过 NuGet 安装:确保你的项目启用非安全代码或处理 COM 的权限(如果使用 Microsoft.Office.Interop,则不推荐用于服务端)。
假设有一个名为 data.xml 的文件:
张三 28北京 李四 32上海
XmlDocument 适合结构清晰的小到中型 XML 文件,易于遍历节点。
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml;
using OfficeOpenXml; // EPPlus
class Program
{
static void Main()
{
string xmlPath = "data.xml";
string excelPath = "output.xlsx";
var records = new List>();
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
XmlNodeList recordNodes = doc.SelectNodes("//Record");
foreach (XmlNode node in recordNodes)
{
var record = new Dictionary();
record["Name"] = node["Name"]?.InnerText ?? "";
record["Age"] = node["Age"]?.InnerText ?? "";
record["City"] = node["City"]?.InnerText ?? "";
records.Add(record);
}
WriteToExcel(records, excelPath);
Console.WriteLine("数据已成功写入 Excel:" + excelPath);
}
}
将读取的数据写入 Excel 表格,首行为列标题。
static void WriteToExcel(List> data, string filePath) { if (data.Count == 0) return; ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // 免费使用 using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("数据表"); // 写入表头 var headers = data[0].Keys; int col = 1; foreach (var header in headers) { worksheet.Cells[1, col].Value = header; col++; } // 写入数据行 int row = 2; foreach (var record in data) { col = 1; foreach (var key in headers) { worksheet.Cells[row, col].Value = record[key]; col++; } row++; } // 自动调整列宽 worksheet.Cells.AutoFitColumns(); // 保存文件 FileInfo file = new FileInfo(filePath); package.SaveAs(file); } }

基本上就这些。这套组合拳适用于大多数数据迁移、报表导出场景,代码简洁且性能良好。
# excel
# node
# 编码
# office
# ai
# microsoft
# 上海
# c#
# .net
# xml
# Excel 表格
# 适用于
# 是一个
# 进阶
# 流式
# 这一
# 导出到
# 遍历
# 推荐使用
# 不存在
# 这套
相关文章:
如何在万网主机上快速搭建网站?
临沂网站制作公司有哪些,临沂第四中学官网?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何破解联通资金短缺导致的基站建设难题?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
公司网站制作价格怎么算,公司办个官网需要多少钱?
javascript中的try catch异常捕获机制用法分析
建站之星安装模板失败:服务器环境不兼容?
如何快速重置建站主机并恢复默认配置?
韩国服务器如何优化跨境访问实现高效连接?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
*服务器网站为何频现安全漏洞?
如何在万网开始建站?分步指南解析
营销式网站制作方案,销售哪个网站招聘效果最好?
如何自定义建站之星网站的导航菜单样式?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何通过宝塔面板实现本地网站访问?
建站VPS推荐:2025年高性能服务器配置指南
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
定制建站如何定义?其核心优势是什么?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
广州建站公司哪家好?十大优质服务商推荐
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
c# Task.ConfigureAwait(true) 在什么场景下是必须的
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
如何用虚拟主机快速搭建网站?详细步骤解析
山东网站制作公司有哪些,山东大源集团官网?
制作销售网站教学视频,销售网站有哪些?
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何快速选择适合个人网站的云服务器配置?
网站制作说明怎么写,简述网页设计的流程并说明原因?
山东云建站价格为何差异显著?
c++怎么用jemalloc c++替换默认内存分配器【性能】
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何快速查询网站的真实建站时间?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何快速搭建安全的FTP站点?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
如何通过远程VPS快速搭建个人网站?
如何选择域名并搭建高效网站?
建站之星后台密码遗忘如何找回?
微信小程序制作网站有哪些,微信小程序需要做网站吗?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
如何快速启动建站代理加盟业务?
*请认真填写需求信息,我们会在24小时内与您取得联系。