Excel Tablolarını XML Formatına Dönüştürme
Bir Excel dosyasını XML'e dönüştürmenin en kolay yolu, "Farklı Kaydet" işlevini kullanarak dosya türü olarak "XML Verileri"ni seçmektir (bu işlem "Geliştirici" sekmesini gerektirir) veya tek seferlik görevler için çevrimiçi dönüştürücülerden yararlanmaktır. Belirli sistemler (1C, web siteleri) için gerekli olan karmaşık veri yapıları durumunda, Python betikleri kullanılması veya CSV aracılığıyla ara dönüştürme yapılması önerilir. Yöntem seçimi, nihai dosyanın yapı gereksinimlerine ve işlenen bilgi hacmine bağlıdır.
Temel kural: Dönüştürmeden önce tabloyu mutlaka bir veritabanı görünümüne getirin: ilk satır sütun başlıkları olmalı, birleştirilmiş hücreler, boş satırlar ve gereksiz sayfalar bulunmamalıdır. Bu, elde edilen XML'in doğruluğunu garanti eder.
Neden XML'e Dönüştürme Gerekli?
XML (Extensible Markup Language) formatı, heterojen sistemler arasında veri alışverişi için bir standarttır. İnsan odaklı görsel .xlsx formatının aksine, XML bilgileri yazılım kodunun kolayca okuyabileceği şekilde yapılandırır.
Başlıca kullanım senaryoları:
- Muhasebe sistemleriyle entegrasyon: Fiyat listelerinin, ürün kataloglarının veya siparişlerin 1C, MoySklad, Bitrix gibi sistemlere aktarılması.
- Web geliştirme: Ürünlerin e-ticaret sitesine yüklenmesi veya sitedeki içeriğin güncellenmesi.
- Arşivleme ve taşıma: Verilerin ofis paketi sürümünden bağımsız bir formatta saklanması.
Yöntem 1: Microsoft Excel Yerleşik İşlevi
Bu yöntem, lisanslı Microsoft Excel (2007 ve üzeri sürümler) kullanıcıları için uygundur. Verileri üçüncü taraf yazılımlar olmadan doğrudan .xml formatında kaydetmenize olanak tanır.
Çalışma Ortamının Hazırlanması
Varsayılan olarak işaretleme ile çalışmaya yönelik sekme gizlidir. Bunu etkinleştirmeniz gerekir:
- Dosya → Seçenekler menüsüne gidin.
- Şeridi Özelleştir bölümünü seçin.
- Sağ taraftaki listede Geliştirici öğesinin yanındaki kutuyu işaretleyin.
- Tamam düğmesine tıklayın. Üst panelde yeni bir sekme görünecektir.
Adım Adım Dönüştürme
- Excel dosyasını açın. Verilerin ilk satırda başlıklar bulunan bitişik bir tablo şeklinde sunulduğundan emin olun.
- Geliştirici sekmesine geçin.
- "XML" grubunda Kaynak düğmesine tıklayın (veya sıkı bir şema gerekiyorsa "Öğeleri Eşle").
- Basit seçenek: Standart düz bir yapıya ihtiyacınız varsa, doğrudan kaydetme işlemine geçebilirsiniz.
- Şemalı seçenek: Alıcı sistem belirli etiket formatları gerektiriyorsa (örneğin,
<Column1>yerine<Article>), Şemalar düğmesi aracılığıyla.xsdşema dosyasını yükleyin ve ilgili öğeleri tablo hücrelerine sürükleyip bırakın.
- Dosya → Farklı Kaydet seçeneğine tıklayın.
- Dosya türleri açılır listesinden XML Verileri (*.xml) seçeneğini belirleyin.
- Not: Bunu "XML Tablosu 2003" (Excel belgesinin kendisinin eski kayıt formatı) veya "Web Sayfası" ile karıştırmayın. İhtiyacımız olan sadece verilerdir.
- Dosya adını belirtin ve Kaydet düğmesine tıklayın.
Kaydetme sırasında dosyanın XML'de desteklenmeyen işlevler veya biçimlendirme içerdiğine dair bir uyarı çıkarsa, yalnızca verilerin kaydedilmesini onaylayın. Formüller nihai dosyaya aktarılmaz; yalnızca hesaplanmış değerleri kaydedilir.
Yöntem 2: Çevrimiçi Dönüştürücüler
Yüklü Excel olmadığında veya akıllı telefon/tablet üzerinde hızlı sonuç almak gerektiğinde, tek seferlik görevler için ideal bir çözümdür. Popüler hizmetler: Zamzar, Convertio, Aspose.
İşlem adımları:
- Dönüştürücü sitesine gidin.
.xlsveya.xlsxdosyasını yükleyin.- Hedef format olarak XML seçeneğini belirleyin.
- "Dönüştür" düğmesine tıklayın ve sonucu indirin.
Kısıtlamalar ve riskler:
- Güvenlik: Müşteri kişisel verileri, şifreler veya ticari sırlar içeren dosyaları asla halka açık sunuculara yüklemeyin.
- Yapı: Çevrimiçi hizmetler genellikle basit bir hiyerarşi (satır -> hücre) oluşturur ve karmaşık ilişkileri göz ardı eder. Bu durum, 1C gibi katı sistemlere otomatik aktarım için uygun olmayabilir.
- Limitler: Ücretsiz sürümler genellikle dosya boyutunu (genellikle 50–100 MB'a kadar) veya günlük dönüştürme sayısını sınırlar.
Yöntem 3: Google E-Tablolar + Betik Kombinasyonu
Masaüstü Excel'iniz yoksa ancak bir Google hesabınız varsa, ara formata dışa aktarma kombinasyonunu kullanabilirsiniz.
- Dosyayı Google E-Tablolar'a yükleyin.
- Dosya → İndir → CSV (virgülle ayrılmış) seçeneğine tıklayın.
- Elde edilen CSV dosyasını, orijinal ikili Excel formatından daha kolay bir şekilde programlı olarak veya özel "CSV to XML" yardımcı programları aracılığıyla işlemek mümkündür.
Bu yöntemin avantajı, CSV'nin saf metin olmasıdır. Birçok aktarım sistemi önce CSV kabul eder ve kendi içinde bunu gerekli XML'e dönüştürür, bu da kullanıcıyı etiket ayarlama görevinden kurtarır.
Yöntem 4: Programlı Dönüştürme (Python)
Büyük veri hacimlerinin düzenli olarak dışa aktarılması veya özel bir yapı (iç içe geçmiş etiketler, öznitelikler, filtreleme) oluşturulması için küçük bir betik yazmak daha iyidir. Bu yaklaşım, insan hatasını ve biçimlendirme hatalarını ortadan kaldırır.
pandas kütüphanesini kullanan Python dilindeki mantık örneği:
import pandas as pd
# Excel'i okuma
df = pd.read_excel('data.xlsx')
# Sözlüğe dönüştürme ve XML'e yazma
# orient='records' şu yapıyı oluşturur: kök öğe -> satırlar -> sütunlar
df.to_xml('output.xml', index=False, root_name='Products', row_name='Product')
Bu yaklaşım şunları sağlar:
- Verilerin otomatik olarak temizlenmesi (boşlukların silinmesi, tarihlerin tek bir standarda getirilmesi).
- Etiket adlarının anında değiştirilmesi (örneğin,
PriceetiketininСтоимостьolarak yeniden adlandırılması). - Binlerce satırın saniyeler içinde işlenmesi.
Dönüştürme Yöntemlerinin Karşılaştırılması
| Kriter | Excel (Yerleşik) | Çevrimiçi Hizmetler | Betikler (Python) |
|---|---|---|---|
| Kurulum karmaşıklığı | Orta (şema gerekli) | Düşük (otomatik) | Yüksek (kod bilgisi gerekli) |
| Yapı kontrolü | Tam (XSD varsa) | Minimal | Tam |
| Veri güvenliği | Yüksek (yerel) | Düşük (dosya ağa gider) | Yüksek (yerel) |
| Uygun olduğu durumlar | Tek seferlik görevler, 1C | Hızlı kontrol, küçük dosyalar | Düzenli otomasyon |
Dönüştürme Sırasında Sık Yapılan Hatalar
- Başlık eksikliği. Tablonun ilk satırı boşsa veya birleştirilmiş hücreler içeriyorsa, ayrıştırıcı doğru etiket adlarını oluşturamaz (
Column1,Column2kullanır veya hata verir). - Birden fazla sayfa bulunması. Standart dönüştürücüler genellikle yalnızca etkin sayfayı işler. Diğer sekmelerdeki veriler, her sayfa için işlem ayrı ayrı başlatılmadığı takdirde kaybolur.
- Özel karakterler. Hücre metinlerinde
<,>,&karakterlerinin kaçış işlemi olmadan bulunması, nihai XML dosyasını "bozabilir". İyi dönüştürücüler bunu otomatik olarak yapar, ancak manuel düzenleme yapılırken bunu unutmamak gerekir. - Yanlış kayıt türü. Kullanıcılar sıklıkla "Web Sayfası" veya "XML Tablosu 2003" seçeneğini seçer ve sonuç olarak stil biçimlendirmesi içeren hantal bir dosya elde ederler, oysa amaç saf verilerdir. Kesinlikle "XML Verileri" seçeneğini seçin.
Sıkça Sorulan Sorular (SSS)
Elde edilen XML dosyasını tekrar Excel'de açabilir miyim? Evet. Excel'de "Dosya" → "Aç" seçeneğini belirleyin ve dosya türü olarak "Tüm Dosyalar" veya "XML" gösterin. Veriler tablo şeklinde aktarılır. Ancak formüller ve biçimlendirme geri yüklenmez.
Neden 1C benim XML dosyamı görmüyor?
Büyük olasılıkla etiket yapısı bozulmuştur. 1C genellikle belirli bir şema (XSD) veya öğelerin kesin adlandırılmasını gerektirir (örneğin, etiket <Root> yerine <КоммерческаяИнформация> olarak adlandırılmalıdır). Böyle bir durumda, "Geliştirici" sekmesinde şema bağlama yöntemini kullanın veya bir dönüştürücü betik yazın.
XML Verileri ile XML Tablosu 2003 arasındaki fark nedir? "XML Tablosu 2003", Excel belgesinin kendisinin (renkler, yazı tipleri, formüller dahil) metin biçiminde kaydedildiği bir formattır. "XML Verileri" ise yalnızca hücre içeriğinin diğer programlara aktarım için evrensel bir formatta dışa aktarılmasıdır. Entegrasyon için ikinci seçenek gereklidir.