Преобразование XML в Excel CSharp

XML (расширяемый язык разметки) похож на HTML, но использует другие теги для определения объектов. Он используется для хранения и передачи данных, не завися от программных или аппаратных средств. В некоторых случаях нам может понадобиться экспортировать данные из XML в Excel (XLSX или XLS) для дальнейшей обработки. Файлы Excel широко используются для хранения и организации данных. В этой статье мы узнаем, как преобразовать XML в Excel с помощью C#.

В этой статье должны быть раскрыты следующие темы:

  1. API конвертера C# XML в Excel
  2. Преобразовать XML в Excel
  3. Экспорт определенных столбцов из XML в Excel

C# API конвертера XML в Excel

Для преобразования XML в Excel мы будем использовать API Aspose.Cells for .NET. Это многофункциональный и мощный API, который позволяет программно выполнять функции автоматизации Excel без необходимости использования приложения Microsoft Excel.

Класс Workbook API представляет электронную таблицу Excel. Это позволяет открывать и сохранять собственные файлы Excel. Он также предоставляет методы для копирования данных из других рабочих книг, объединения двух рабочих книг и защиты электронной таблицы Excel. Этот класс позволяет импортировать файлы данных XML в книгу с помощью метода ImportXml(). Метод save() этого класса позволяет сохранять рабочие книги в указанных форматах.

Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

PM> Install-Package Aspose.Cells

Преобразование XML в Excel на C#

Мы можем легко преобразовать файл данных XML в книгу Excel, выполнив следующие действия:

  1. Создайте экземпляр класса Workbook.
  2. Вызовите метод ImportXml() для импорта XML-файла.
  3. Сохраните книгу как файл XLSX, используя метод Save(). Он принимает путь к выходному файлу в качестве аргумента.

В приведенном ниже примере кода показано, как преобразовать XML в Excel с помощью C#.

// В этом примере кода показано, как импортировать файл данных XML в Excel.
// Путь к папке данных
var dataDir = @"C:\Files\";

// Создайте экземпляр класса Workbook
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#

Экспорт определенных столбцов из XML в Excel на C#

Нам нужно создать файл XSLT с макетом HTML для отображения наших данных в таблице. Файл XLS представляет собой таблицу стилей, которую можно использовать для преобразования документов XML в документы других типов и для форматирования вывода. Мы включим в XSLT-файл только необходимые столбцы для преобразования в Excel. XSL-файл, который поможет нам в этом, может выглядеть примерно так:

<?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, выполнив следующие шаги:

  1. Во-первых, прочитайте файл XML с помощью метода File.ReadAllText().
  2. Затем прочитайте файл XSLT, используя метод File.ReadAllText().
  3. Затем преобразуйте содержимое XML с помощью экземпляра класса XslCompiledTransform.
  4. После этого укажите различные параметры рабочего листа, такие как AutoFitRows и AutoFitColumns.
  5. Сохраните книгу как файл 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 на C#. Мы также увидели, как извлекать определенные данные столбца из XML-файла и программно преобразовывать их в Excel. Кроме того, вы можете узнать больше об Aspose.Cells for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также