XML'i Excel CSharp'a dönüştürün

XML (Genişletilebilir İşaretleme Dili), HTML ile benzerdir ancak nesneleri tanımlamak için farklı etiketler kullanır. Yazılım veya donanım araçlarına bağımlı olmadan veri depolamak ve taşımak için kullanılır. Belirli durumlarda, daha fazla işleme için verileri XML’den Excel’e (XLSX veya XLS) aktarmamız gerekebilir. Excel dosyaları, verileri depolamak ve düzenlemek için yaygın olarak kullanılır. Bu yazıda, C# kullanarak XML’i Excel’e dönüştürmeyi öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

  1. C# XML’den Excel’e Dönüştürücü API’sı
  2. XML’yi Excel’e dönüştürün
  3. Belirli Sütunları XML’den Excel’e Aktar

C# XML’den Excel’e Dönüştürücü API’sı

XML’i Excel’e dönüştürmek için Aspose.Cells for .NET API’sini kullanacağız. Excel otomasyon özelliklerinin bir Microsoft Excel uygulamasına ihtiyaç duymadan programlı olarak gerçekleştirilmesine olanak tanıyan, zengin özelliklere sahip ve güçlü bir API’dir.

API’nin Çalışma Kitabı sınıfı, bir Excel elektronik tablosunu temsil eder. Yerel Excel dosyalarının açılmasına ve kaydedilmesine olanak tanır. Ayrıca, diğer Çalışma Kitaplarından veri kopyalamak, iki Çalışma Kitabını birleştirmek ve Excel elektronik tablosunu korumak için yöntemler sağlar. Bu sınıf, ImportXml() yöntemi kullanılarak XML veri dosyalarının çalışma kitabına alınmasına izin verir. Bu sınıfın save() yöntemi, çalışma kitaplarının belirtilen biçimlerde kaydedilmesine olanak tanır.

Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.

PM> Install-Package Aspose.Cells

C# dilinde XML’i Excel’e dönüştürme

Aşağıda verilen adımları izleyerek bir XML veri dosyasını kolayca Excel çalışma kitabına dönüştürebiliriz:

  1. Workbook sınıfının bir örneğini oluşturun.
  2. XML dosyasını içe aktarmak için ImportXml() yöntemini çağırın.
  3. Çalışma Kitabını Save() yöntemini kullanarak bir XLSX dosyası olarak kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.

Aşağıda verilen kod örneği, C# kullanarak XML’in Excel’e nasıl dönüştürüleceğini gösterir.

// Bu kod örneği, Excel'de XML veri dosyasının nasıl içe aktarılacağını gösterir.
// Veri klasörü yolu
var dataDir = @"C:\Files\";

// Workbook sınıfının bir örneğini oluşturun
Workbook workbook = new Workbook();

// XML'i çalışma kitabına aktar
// Argüman olarak XML dosya yolunu, hedef sayfa adını, hedef satırı ve sütunu alır.
workbook.ImportXml(dataDir + "Catalog.xml", "Sheet1", 0, 0);

// Çalışma kitabını XLSX olarak kaydedin
workbook.Save(dataDir + "data_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
C# dilinde XML'i Excel'e dönüştürme

Belirli Sütunları XML’den C# ile Excel’e Aktarın

Verilerimizi bir tabloda işlemek için HTML düzenine sahip bir XSLT dosyası oluşturmamız gerekiyor. XLS dosyası, XML belgelerini diğer belge türlerine dönüştürmek ve çıktıyı biçimlendirmek için kullanılabilen bir stil sayfasıdır. Excel’e dönüştürmek için XSLT dosyasına yalnızca gerekli sütunları dahil edeceğiz. Bunu yapmamıza yardımcı olacak XLS dosyası şöyle görünebilir:

<?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>

Aşağıda verilen adımları izleyerek bir XML veri dosyasından belirli sütunları bir Excel çalışma kitabına alabiliriz:

  1. Öncelikle, File.ReadAllText() yöntemini kullanarak XML dosyasını okuyun.
  2. Ardından, File.ReadAllText() yöntemini kullanarak XSLT dosyasını okuyun.
  3. Ardından, XslCompiledTransform sınıf örneğini kullanarak XML içeriğini dönüştürün.
  4. Bundan sonra, AutoFitRows ve AutoFitColumns gibi çeşitli çalışma sayfası ayarlarını belirtin.
  5. Çalışma Kitabını Save() yöntemini kullanarak bir XLSX dosyası olarak kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.

Aşağıda verilen kod örneği, C# kullanarak belirli sütunların XML’den Excel’e nasıl dönüştürüleceğini gösterir.

// Bu kod örneği, Excel'deki bir XML veri dosyasından belirli sütunların nasıl içe aktarılacağını gösterir.
// Veri klasörü yolu
var dataDir = @"C:\Files\";

// XML dosyası içeriğini oku
var XmlContent = File.ReadAllText(dataDir + "Catalog.xml");

// XSLT dosya içeriğini oku
var XsltContent = File.ReadAllText(dataDir + "CatalogXSLX.xslt");

// XML'i dönüştürün ve MemoryStream'de içerik alın
var xmlContent = TransformXml(XmlContent, XsltContent);

// çalışma kitabı oluştur
var workbook = new Workbook(xmlContent);
workbook.Worksheets[0].AutoFitRows();
workbook.Worksheets[0].AutoFitColumns();

// Çalışma kitabını XLSX olarak kaydedin
workbook.Save(dataDir + "SpecificColumnsData_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
C# dilinde XML'i Excel'e dönüştürme

Ücretsiz Lisans Alın

Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Bu yazıda, C# dilinde bir XML dosyasından Excel’e nasıl veri aktarılacağını öğrendik. Ayrıca bir XML dosyasından belirli sütun verilerinin nasıl çıkarılacağını ve programlı olarak Excel’e nasıl dönüştürüleceğini de gördük. Ayrıca, belgeleri kullanarak Aspose.Cells for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız