csv dönüşümünde oluşan hatalar

Katılım
29 Temmuz 2022
Mesajlar
6
Excel Vers. ve Dili
office 2016
Arkadaşlar merhaba,
Elimde bir xlsx dosyası var.
Sütunlar sırasıyla;
a- barkod alanı (13 haneli rakamlar)
b- grup adı
c- markası
d- Model adı
e- Ürün adı (metin veya 06 şeklinde rakamlar, sadece rakam varsa '06 şeklinde yazılı)
f- rulo eni
g- rulo boyu
h- lot numarası
ı- irsaliye no
j- depo
şeklinde..
bu sayfayı oluştururken, fabrikadan gelen çeki listesindeki barkod sütununu kopyalayıp A sütununa yapıştırıyorum ve diğer sütunlar düşey ara ile otomatik geliyor. Burda sorunum yok. Ancak kullandığımız depo programında bu listeyi içe aktarmam için öncelikle bu sayfayı csv şekline çevirmem gerekiyor. CSV formatına çevirdikten sonra A sütunundaki barkodlar örneğin gerçekte 8696734315015026 iken csv dosyasında 8.70E+12 şekline dönüyor. bu sütunu seçip hücreleri biçimlendir dedikten sonra isteğe uyarlanmış ve 0 yapıyorum ekranda düzgün görünüyor. Veya rakamların başına tek tek tırnak (') işareti koyduğumda düzeliyor. Ta ki kaydedip çıkana kadar. tabloya tekrar giriş yaptığımda tüm bozulmalar yeniden en başa dönüyor. Aynı şekilde xlsx dosyasında E sütunundaki ürün adı '05 şeklinde ise csv formatına çevirdiğimde sadece 5 olarak geliyor. Elle tek tek düzeltip kaydettikten sonra kapatırsam yeniden son düzenlemeler uçup gidiyor. Çözüm için fikri olan varmı.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Gerçek bir CSV dosyasında bütün veriler virgülle ayrılarak satırlar halinde yer alır, Excel'deki gibi ayrı ayrı sütunlarda değil....

1. satırda virgülle ayrıştırılmış başlıklar alt satırlarda da virgülle ayrıştırılmış veriler bulunur.

Örnek;


Sizin bahsettiğiniz CSV dosyası böyle birşey mi?

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Son düzenleme:
Katılım
29 Temmuz 2022
Mesajlar
6
Excel Vers. ve Dili
office 2016
maalesef hayır. çünkü içe aktarılacak csv dosyasınında sütunlar şeklinde olması lazım. program ona göre işlem yapıyor. her sütundaki verileri ilgili veritabanındaki yerlere yazıyor. bana tuhaf gelen ve çözemediğim şey, csv dosyasını normal bir excell sayfası gibi düzenleyip, kaydedip kapattıktan sonra neden eski haline döner.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Daha önce dediğim gibi..... gerçek anlamda bir CSV dosyası 1 adet sütun ve veri sayısı kadar satırdan oluşur.

Yani, CSV dosyasında 1'den fazla sütun bulunmaz. Sizin kullandığınız program enteresan birşeymiş....

.
 
Katılım
29 Temmuz 2022
Mesajlar
6
Excel Vers. ve Dili
office 2016
Konunun bizim kullandığımız program olduğunu sanmıyorum ama neyse yine de teşekkürler.
Sonuçta kim ne için kullanacak ise kullansın, excell içinde farklı kaydet dedikten sonra virgülle ayrılmış (csv) şeklinde bir dosya uzantı kayıt kısmı var mı, var. Bunu bir amaçla yapmışlar belli ki. Hatta bundan 2 tane daha var. csv macintosh, csv ms-dos şeklinde.
Biz mac veya ms dos kullanmadığımız için virgülle ayrılmış csv kısmını seçiyoruz.
Sizde deneyin lütfen. benzer bir çalışma sayfası hazırlayıp farklı kaydet deyip csv (virgülle ayrılmış) formatını seçin. Sizde tüm değerleri tek sütuna mı atıyor yoksa dosyadaki gibi sütunlara mı ayırıyor.
Tekrar ediyorum sorun bu dönüşümden sonra csv dosyasının aldığı hal değil. csv dosyasında düzenleme yapıp kaydet dedikten sonra dosya kapatılıp tekrar açıldığında eski haline geri dönmesi sorunu.
 
Katılım
29 Temmuz 2022
Mesajlar
6
Excel Vers. ve Dili
office 2016
cevabı microsoft vermiş bende yeni görüyorum. Yardım dosyasında bu konudaki uyarılar şu şekilde.
Çalışma kitabını metin biçimine kaydetme (. txt veya. csv)

Bazen, bir çalışma kitabını bir metin (txt) veya virgülle ayrılmış değerler (CSV) gibi başka bir dosya biçiminde kaydetmeniz gerekebilir. Çalışma kitabını başka bir dosya biçiminde her kaydedişinizde, biçimlendirmesi, verileri ve özelliklerinden bir bölümünün kaydedilmeyebileceğini aklınızda bulundurun.
Dikkat: Bir çalışma kitabını herhangi bir metin biçiminden kaydettiğinizde, tüm biçimlendirme kaldırılır.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Benim kullandığım Excel versiyonunda ve muhtemelen sizin kullandığınız versiyonda; ondalık sayılarda ayraç olarak "," ve basamaklarda ayraç olarak da "." kullanılır.

Yani; 4,25 * 2 = 8,50 gibi.

Halbuki; Excel'in orjinali olan "US-En" dil versiyonunda bu notasyon tam tersidir. Sorun da, bundan kaynaklanmaktadır. Bizim TR versiyonlarda, dosyayı CSV yapmaya çalıştığımızda, Excel içinde "," olan herşeyi "string" olarak görür. Dosya yapısında hücrelerin birbiriyle ";" ayrıştırıldığını görünce, bunları da otomatik olarak başka bir sütun olarak değerlendir. Sonuçta da ortaya CSV olmayan bir dosya yapısı çıkar.

Bu nedenle, yukarıda anlatmaya çalıştım ama pek başaramadım..... CSV dosyaları aslında bildiğimiz *.txt uzantılı TEXT-Metin dosyalarından farklı değildir ve herhangibir biçimlendirme taşımazlar. Yukarıda 4 No'lu mesajdaki resimde de görüldüğü gibi, bizim ondalıklı sayı olarak gördüğümüz veriler gerçek anlamda bir CSV dönüştürüldüğünde resimde olduğu gibi "" işaretleri arasına alınır.

Bir şekilde çoklu sütunlardan oluşturulan CSV dosyasını (?) açmaya kalktığınızda, esasında bir hesaplama yazılımı olarak üretilmiş olan elektronik tablo programı olan Excel, sütunlarda gördüğü herşeyi nümerik olarak okuyup, yazmaya gayret eder. Bu nedenle, sizin biçimsel olarak kaydettiğinizi umduğunuz bazı veriler Excel tarafından değiştirilir.

.
 
Son düzenleme:
Katılım
29 Temmuz 2022
Mesajlar
6
Excel Vers. ve Dili
office 2016
benim ve işyerindeki bu işle ilgilenen bazı bilgisayarlarda virgül yerine nokta kullanırız. yani bir excell dosyası hazırlarken numara tuşlarının altında bulunan virgül tuşu bizde nokta tuşu işlevi görür.
kullandığımız stok programını kendimiz yazdık. ilk versiyonunda normal xls dosyası ile verileri içe aktardık ama ara sıra tuhaf hatalar alınca bizde csv dosyası ile içe aktaralım dedik. bu şekilde içe aktarmada hiçbir hata almadık.
şuanda olayı şöyle çözüyoruz;
normal excell sayfası hazırlanıyor ve csv şekline çevriliyor. CSV dosyasındaki oluşan biçimlendirme hataları elle düzeltiliyor ve kayıt ediliyor. Ama csv dosyasının olduğu ekranı kapatmıyoruz !!!.. Arka planda içe aktar işlemleri yaptığımızda hiçbir sorun almadan işlem gerçekleşiyor. Örneğin 500 satırlık bir dosya 1-2 sn civarında içe aktarılıyor. İçe aktarılan bilgilerin kontrolünden sonra artık csv dosyasında çıkabiliriz. Çünkü tekrar girdiğimizde tüm biçimlendirme kayboluyor. Ben bunun cevabını bulabilir miyim demiştim. Biçimlendirmenin kaybolacağı uyarısı verilmiş microsoft tarafından. ama bugüne kadar bunun çözümü üstünde hiç durulmamış veya ben böyle bir bilgiye ulaşamadım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
.......... Biçimlendirmenin kaybolacağı uyarısı verilmiş microsoft tarafından. ama bugüne kadar bunun çözümü üstünde hiç durulmamış veya ben böyle bir bilgiye ulaşamadım.

Bunun bir çözümü olamaz çünkü olması gereken bu. Daha önce dediğim gibi, CSV dosyaları aslında *.txt uzantılı metin dosyalarından hiçbir farkı yoktur. Bu nedenle de herhangibir biçimlendirme taşıyamazlar.

.
 
Üst