将Excel表中的数据 转换成XML 并对XML数据进行读取

本文介绍如何将Excel数据转换为XML,并详细阐述了XML数据的读取过程,提供了一个实用的工具类,同时给出了XML实体类的设计和读取方法,附带下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EXCEL 转换成 XML 工具类

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Xml;
using System.IO;
namespace xML
{
    class Program
    {

        static Dictionary<string,DataTable> DtList= new Dictionary<string,DataTable>();

        static Dictionary<string, XmlNode> xmlNodelist = new Dictionary<string, XmlNode>();//数据类型节点

        static  string basePath = AppDomain.CurrentDomain.BaseDirectory;

        static  string excelPath = basePath + @"\Excel";

        static string xmlPath = basePath + "Xml";

        static void Main(string[] args)
        {
            DirectoryInfo folder = new DirectoryInfo(excelPath);

            FileInfo[] file = folder.GetFiles("*.xlsx*",SearchOption.TopDirectoryOnly);

            foreach (var f in file)
            {
                Start(f.FullName);
            }
            Console.ReadKey();   
        }

        static void Start(string excelPath)
        {

            bool flag = ExcelToDS(excelPath);

            if (flag)
            {
                foreach (KeyValuePair<string, DataTable> pair in DtList)
                {
                    XmlDocument xmlDocument = new XmlDocument();
                    XmlNode declaration = xmlDocument.CreateXmlDeclaration("1.0", "utf-8", "");
                    xmlDocument.AppendChild(declaration);
                    XmlNode content = xmlDocument.CreateComment(pair.Key);
                    xmlDocument.AppendChild(content);
                    XmlNode Root = XmlOperationUtil.AppendElement(xmlDocument, "Root");

                    //标题 取得Excel表的第二行 作为属性值
                    List<string> titleList = new List<string>();
                    try
                    {
                        int rowLength = pair.Value.Rows.Count;
                        int columnLength = pair.Value.Columns.Count;
                        for (int i = 0; i < columnLength; i++)
                        {
              
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值