CSV’den Excel’e İlk Adım: Ne Dönüşüyor, Ne Dönüşmüyor
CSV dosyası; satır satır, virgülle, noktalı virgülle ya da sekmeyle ayrılmış düz metindir. Bu sayfa, böyle bir dosyayı alır ve içindeki her satırı, her sütunu Excel çalışma kitabının (XLSX) ilk çalışma sayfasına yerleştirir. İşlem tamamen tarayıcınızda gerçekleşir; dosya hiçbir sunucuya gönderilmez. Sonucu indirmeden önce bir önizleme tablosunda görebilir, satır ve sütun sayılarını, çıktı dosyasının boyutunu da aynı ekranda kontrol edebilirsiniz.
Dönüşümün temel mantığı basittir: CSV’deki her hücre, XLSX’te de bir hücre olur. Ama bu benzerlik, bir Excel dosyasından beklenen her şeyin otomatik olarak geleceği anlamına gelmez. CSV, veri tiplerini taşımaz. Metin, sayı, tarih, para birimi — hepsi metin olarak gelir. Excel’de hücre biçimlendirmesi yoktur, formül yoktur, birden çok sayfa yoktur, hücre birleştirme, renk, kenarlık, koşullu biçimlendirme yoktur. Bunların hiçbirisi CSV’nin içinde bulunmadığı için dönüşüm sonucunda da bulunmaz. Sayfanın farkı ve gücü, tam da bu sınırlamaları net bir şekilde ortaya koymasıdır: CSV’yi, Excel’in anlayacağı bir kabın içine boşaltır, ama kabın içindekileri yorumlamaz, dönüştürmez, zenginleştirmez.
Bu nedenle sayfa, “CSV’yi Excel’e çevir” kalıbındaki diğer araçlardan ayrılır. Çoğu kullanıcı, CSV’yi Excel’de açtığında baştaki sıfırların silindiğini, uzun sayıların bilimsel gösterime dönüştüğünü, tarihlerin yanlış yorumlandığını görür. Bu sayfada bunlar olmaz, çünkü her şey metin olarak kaldığı için hiçbir otomatik dönüşüm yaşanmaz. Kullanıcı, dönüşümden sonra Excel’de istediği hücre aralığını seçip kendi biçimlendirmesini kendisi yapar. Bu bir eksiklik değil, bir kasıtlı tasarım tercihidir.
Veri Tipleri Neden Metin Olarak Kalır?
CSV, RFC 4180 standardına kabaca uyan ama her uygulamada farklı yorumlanabilen bir biçimdir. Standartta “hücre tipi” kavramı yoktur. Bir değer 2025-01-15 olabilir; bu bir tarih de olabilir, bir ürün kodu da. CSV’nin kendisi bunu belirtmez. Excel ise dosyayı açarken bu tür değerleri akıllıca yorumlamaya çalışır: 01/15/2025 görürse tarihe çevirir, 000123 görürse baştaki sıfırları atar, 12345678901234567890 görürse bilimsel gösterime geçer.
Bu sayfada ise böyle bir “akıllı” yorum yoktur. Dönüştürücü, CSV’de ne varsa onu XLSX hücresine olduğu gibi metin olarak yazar. Bu sayede:
- Posta kodu
02134olarak kalır,2134olmaz. - Hesap numarası
00123456789aynen korunur. - Uzun bir IMEI numarası
861536030012345olduğu gibi kalır. - Tarih olarak yorumlanmaması gereken
03/04/05(3 Nisan 2005 değil, üçüncü ürünün dördüncü varyantının beşinci parti numarası) metin olarak kalır.
Kullanıcı, bu verileri Excel’de açtıktan sonra ilgili sütunları seçip “Hücreleri Biçimlendir” menüsünden Sayı, Tarih, Metin veya istediği özel biçimi uygular. Dönüşüm aracı, kullanıcının niyetini tahmin etmeye çalışmadığı için veri kaybı riski en aza iner.
CSV’nin Sınırları ve XLSX’in Tek Sayfası
CSV, tek bir tabloyu düz metin olarak saklar. İçinde ikinci bir sayfa, formül, grafik, hücre stili gibi kavramlar yoktur. Bu nedenle dönüşüm sonucu daima tek çalışma sayfalı bir Excel dosyasıdır. Çok sayfalı bir Excel dosyası oluşturmak, kaynak olarak birden çok CSV veya başka bir yapı gerektirir. Bu sayfa yalnızca tek bir CSV’yi tek bir sayfaya dönüştürür.
Aynı şekilde, formüller de çalışma kitabına yazılmaz. CSV’de =TOPLA(A1:A10) yazılı olsa bile bu, bir formül değil, düz metin =TOPLA(A1:A10) olarak Excel hücresine konur. Excel bu değeri görünce formül olarak yorumlamaz; başında = işareti olan bir metin olarak gösterir. Bunun nedeni, CSV’deki her şeyin birer veri olduğu varsayımıdır. CSV’yi düzenleyen kişi formül yazmak isteseydi, zaten CSV yerine XLSX kullanırdı.
Ayırıcı Seçimi ve Ayrıştırma Hataları
CSV’nin hangi karakterle ayrıldığı dosyada yazılı değildir. Dosyayı oluşturan program virgül, noktalı virgül ya da sekme kullanabilir. İşletim sistemi yerel ayarları bu seçimi etkiler: örneğin Almanca Excel varsayılan olarak noktalı virgül kullanırken, İngilizce Excel virgül kullanır. Bu nedenle kullanıcı, dönüşüm sırasında doğru ayırıcıyı seçmek zorundadır.
Yanlış ayırıcı seçildiğinde, dönüştürücü dosyayı satırlara ayırmaya çalışır ama sütunları doğru bölemez. Örneğin:
Ad;Soyad;Yaş
Ali;Yılmaz;35
Veli;Kaya;42
Bu dosya noktalı virgülle ayrılmıştır. Kullanıcı “Virgül” seçerse, dönüştürücü her satırda tek bir sütun görür:
Ad;Soyad;Yaş
Bu durumda sayfa şu hatayı verir: “Bu CSV ayrıştırılamadı.” Aynı hata, bir hücrenin içinde ayırıcı karakter varsa ve bu karakter tırnakla korunmamışsa da oluşur:
Ad,Soyad,Meslek
Ali,Yılmaz,Mühendis,Yazılım
Üçüncü hücrede iki virgül var ama tırnak yok. Ayrıştırıcı dört sütun görür, ama beklenen sütun sayısı uyuşmaz. Yine “ayrıştırılamadı” hatası alınır. Kullanıcının CSV dosyasını bir metin düzenleyicide açıp ayırıcıyı ve tırnak kullanımını kontrol etmesi gerekir.
Tarayıcıda Çalışmanın Getirdiği Gizlilik ve Sınırlar
Sayfa, dosyayı okumak için tarayıcının API’sini kullanır, içeriği bellekte ayrıştırır, XLSX dosyasını yine bellekte oluşturur ve indirme bağlantısı olarak sunar. Hiçbir veri HTTP isteğiyle dışarı çıkmaz. Bu, hassas veriler (müşteri listeleri, finansal veriler, sağlık kayıtları) ile çalışan kullanıcılar için kritiktir. Bulut tabanlı araçların tersine, verilerin nerede işlendiği, kimin görebileceği, ne kadar süre saklandığı gibi sorular gündeme gelmez.
Ancak tarayıcıda çalışmanın sınırları vardır. İşlemci ve bellek sınırlıdır. Dosya boyutu büyüdükçe dönüşüm süresi artar. Sayfa, belirli bir eşiği aşan dosyalara “Bu dosya çok büyük. ‹max› altındaki bir dosyayı kullanın.” uyarısı verir. Eğer dönüşüm süresi kullanıcının beklentisini aşarsa “Bu dönüşüm çok uzun sürüyor. Daha küçük bir dosya deneyin.” hatası görülür.
Hata Durumları ve Anlamları
Sayfanın verdiği tüm hata mesajları belirli bir durumu işaret eder. Kullanıcıların en sık karşılaştığı hatalar şunlardır:
| Hata Mesajı | Olası Sebep | Çözüm |
|---|---|---|
| “Önce bir dosya seçin.” | Kullanıcı hiç dosya seçmeden dönüştürmeye çalıştı. | Dosya seçin. |
| “Bir CSV, JSON veya XLSX dosyası seçin.” | Desteklenmeyen bir uzantı (ör..txt,.pdf) seçildi. | Uygun biçimde bir dosya seçin. |
| “Bu dosya çok büyük. ‹max› altındaki bir dosyayı kullanın.” | Dosya boyutu 8 MB limitini aştı. | Dosyayı küçültün (satır/alan azaltın) veya bölün. |
| “Bu dosya dönüştürülemedi.” | Genel bir hata; dosya bozuk veya ayrıştırma başarısız. | Dosyayı bir metin düzenleyicide kontrol edin. |
| “Bu CSV ayrıştırılamadı.” | Yanlış ayırıcı, tırnak hatası, satırda farklı sayıda sütun. | Ayırıcıyı değiştirin; dosyayı düzenleyin. |
| “Bu dosyada tablo satırı yok.” | CSV boş veya başlık satırından sonra veri yok. | Dosyanın veri içerdiğinden emin olun. |
| “Bu tabloda ‹max›’tan fazla satır var.” | Satır sayısı 10.000 limitini aştı. | Dosyayı satır sayısını azaltarak bölün. |
| “Bu tabloda ‹max›’tan fazla sütun var.” | Sütun sayısı 200 limitini aştı. | Dosyayı daha az sütunlu parçalara ayırın. |
| “Dönüşüm iptal edildi.” | Kullanıcı işlemi elle iptal etti. | Yeniden deneyin. |
| “Bu dönüşüm çok uzun sürüyor. Daha küçük bir dosya deneyin.” | Dönüşüm yaklaşık 12 saniye sınırını aştı. | Daha küçük dosya kullanın. |
Kimin Ne Zaman İhtiyacı Olur?
Bu sayfa, her gün CSV ile uğraşan bir veri analisti için değil, CSV’yi Excel’de açıp başına gelen “sihirli dönüşümlerden” bıkmış kullanıcılar içindir. Özellikle şu durumlarda tercih edilir:
- Bir web uygulamasından CSV olarak indirdiğiniz raporu, Excel’de filtreleme, sıralama veya pivot tablo gibi araçlarla analiz etmek istiyorsunuz.
- Çalışma arkadaşlarınız yalnızca XLSX dosyası açabiliyor; onlara göndermek için dönüştürmeniz gerekiyor.
- CSV’yi Excel ile açtığınızda baştaki sıfırlar kayboluyor, uzun sayılar bozuluyor. Bu sayfada her şey metin olarak kaldığı için bu sorun yaşanmaz.
- Verilerinizin gizliliğini korumak istiyorsunuz; bulut hizmetlerine yüklemek yerine tarayıcınızda işlem yapmayı tercih ediyorsunuz.
Sıkça Sorulan Sorular
S: Dönüşümden sonra sayıları Excel’de nasıl düzeltebilirim? Excel’de ilgili sütunu seçin, sağ tıklayın → “Hücreleri Biçimlendir” → “Sayı” sekmesinden istediğiniz biçimi seçin. Ondalık ayracı, binlik ayracı, para birimi simgesi gibi ayarları da buradan yapabilirsiniz.
S: Tarihler metin olarak geldi, onları nasıl Excel tarihine çeviririm? Tarih sütununu seçin, Veri sekmesi altında “Metni Sütunlara Dönüştür” sihirbazını kullanın. İlk adımda “Sınırlandırılmış” seçin, ikinci adımda hiçbir sınırlayıcı işaretlemeyin, üçüncü adımda sütun biçimi olarak “Tarih” seçin ve formatını belirtin (DMY, MDY vb.).
S: Dosyamda başlık satırı yok, dönüşüm yine de çalışır mı? Evet. Başlık satırı olsun olmasın tüm satırlar veri olarak kabul edilir. Excel’de başlık eklemek için ilk satırı kendiniz düzenleyebilirsiniz.
S: Dönüşüm neden bu kadar yavaş? Dosyanız çok büyükse veya tarayıcınızın belleği yetersizse yavaşlama olabilir. Daha küçük parçalar halinde dönüştürmeyi deneyin.
S: Virgülle ayrılmış bir CSV’de, bir hücrenin içinde virgül varsa ne olur?
RFC 4180’e göre bu virgülün tırnak içinde olması gerekir (ör. "Yılmaz, Ali"). Tırnak yoksa ayrıştırıcı bunu yeni bir sütun olarak algılar ve hata alabilirsiniz. Dosyayı bir metin düzenleyicide açarak tırnak kullanımını kontrol edin.
S: iPhone’daki Numbers uygulamasından aldığım CSV’yi dönüştürebilir miyim? Evet, dosya standart CSV biçimindeyse çalışır. Ancak Numbers bazen sekme ile ayrılmış veya UTF-16 ile kodlanmış çıktı verebilir. Tarayıcı UTF-8, UTF-16 gibi kodlamaları genelde destekler, ama sorun yaşarsanız dosyayı önce Not Defteri’nde UTF-8 olarak kaydedin.