XML(لغة الترميز الموسعة) تشبه HTML ولكنها تستخدم علامات مختلفة لتعريف الكائنات. يتم استخدامه لتخزين البيانات ونقلها دون الاعتماد على أدوات البرامج أو الأجهزة. في بعض الحالات ، قد نحتاج إلى تصدير البيانات من XML إلى Excel (XLSX أو XLS) لمزيد من المعالجة. تُستخدم ملفات Excel على نطاق واسع لتخزين البيانات وتنظيمها. في هذه المقالة ، سوف نتعلم كيفية تحويل XML إلى Excel باستخدام C#.
سيتم تناول الموضوعات التالية في هذه المقالة:
C# XML to Excel Converter API
لتحويل XML إلى Excel ، سنستخدم Aspose.Cells for .NET API. إنها واجهة برمجة تطبيقات قوية وغنية بالميزات تتيح أداء ميزات أتمتة Excel برمجيًا دون الحاجة إلى تطبيق Microsoft Excel.
تمثل فئة مصنف من API جدول بيانات Excel. يسمح بفتح وحفظ ملفات Excel الأصلية. كما يوفر طرقًا لنسخ البيانات من مصنفات أخرى ، والجمع بين مصنفين ، وحماية جدول بيانات Excel. تسمح هذه الفئة باستيراد ملفات بيانات XML إلى المصنف باستخدام طريقة ImportXml(). تسمح طريقة save() لهذه الفئة بحفظ المصنفات بالتنسيقات المحددة.
يرجى إما تنزيل DLL الخاصة بواجهة برمجة التطبيقات أو تثبيته باستخدام NuGet.
PM> Install-Package Aspose.Cells
تحويل XML إلى Excel في C#
يمكننا بسهولة تحويل ملف بيانات XML إلى مصنف Excel باتباع الخطوات الواردة أدناه:
- قم بإنشاء مثيل لفئة المصنف.
- قم باستدعاء الأسلوب ImportXml() لاستيراد ملف XML.
- احفظ المصنف كملف XLSX باستخدام طريقة Save().يأخذ مسار ملف الإخراج كوسيطة.
يوضح مثال الرمز الوارد أدناه كيفية تحويل XML إلى Excel باستخدام C#.
// يوضح مثال التعليمات البرمجية هذا كيفية استيراد ملف بيانات XML في Excel.
// مسار مجلد البيانات
var dataDir = @"C:\Files\";
// قم بإنشاء مثيل لفئة المصنف
Workbook workbook = new Workbook();
// استيراد XML إلى المصنف
// يأخذ مسار ملف XML ، واسم الورقة الوجهة ، وصف الوجهة والعمود كوسائط.
workbook.ImportXml(dataDir + "Catalog.xml", "Sheet1", 0, 0);
// احفظ المصنف باسم XLSX
workbook.Save(dataDir + "data_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
تصدير أعمدة معينة من XML إلى Excel في C#
نحتاج إلى إنشاء ملف XSLT بتنسيق HTML لعرض بياناتنا في جدول. ملف XLS هو ورقة أنماط يمكن استخدامها لتحويل مستندات XML إلى أنواع مستندات أخرى ولتنسيق المخرجات. سنقوم بتضمين الأعمدة المطلوبة فقط في ملف XSLT للتحويل إلى Excel. قد يبدو ملف XLS الذي سيساعدنا في القيام بذلك على النحو التالي:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
<th style="text-align:left">Price</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td>
<xsl:value-of select="title"/>
</td>
<td>
<xsl:value-of select="artist"/>
</td>
<td>
<xsl:value-of select="price"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
يمكننا الحصول على أعمدة محددة من ملف بيانات XML في مصنف Excel باتباع الخطوات الواردة أدناه:
- أولاً ، اقرأ ملف XML باستخدام طريقة File.ReadAllText().
- بعد ذلك ، اقرأ ملف XSLT باستخدام طريقة File.ReadAllText().
- بعد ذلك ، قم بتحويل محتوى XML باستخدام مثيل فئة XslCompiledTransform.
- بعد ذلك ، حدد إعدادات ورقة العمل المختلفة مثل AutoFitRows و AutoFitColumns.
- احفظ المصنف كملف XLSX باستخدام طريقة Save().يأخذ مسار ملف الإخراج كوسيطة.
يوضح مثال الرمز الوارد أدناه كيفية تحويل أعمدة معينة من XML إلى Excel باستخدام C#.
// يوضح مثال التعليمات البرمجية هذا كيفية استيراد أعمدة معينة من ملف بيانات XML في Excel.
// مسار مجلد البيانات
var dataDir = @"C:\Files\";
// قراءة محتوى ملف XML
var XmlContent = File.ReadAllText(dataDir + "Catalog.xml");
// اقرأ محتوى ملف XSLT
var XsltContent = File.ReadAllText(dataDir + "CatalogXSLX.xslt");
// تحويل XML والحصول على المحتوى في MemoryStream
var xmlContent = TransformXml(XmlContent, XsltContent);
// إنشاء مصنف
var workbook = new Workbook(xmlContent);
workbook.Worksheets[0].AutoFitRows();
workbook.Worksheets[0].AutoFitColumns();
// احفظ المصنف باسم XLSX
workbook.Save(dataDir + "SpecificColumnsData_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
احصل على رخصة مجانية
يمكنك الحصول على رخصة مؤقتة مجانية لتجربة المكتبة دون قيود التقييم.
استنتاج
في هذه المقالة ، تعلمنا كيفية استيراد البيانات من ملف XML إلى Excel في C#. لقد رأينا أيضًا كيفية استخراج بيانات عمود محددة من ملف XML وتحويلها إلى Excel برمجيًا. بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.Cells for .NET API باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.