Yavaş Excel elektronik tablolarını mı teşhis ediyorsunuz?


13

Bir müşteri benimle iletişime geçti ve açılması çok uzun süren Excel e-tablolarından şikayet etti. Fatura oluşturmak için Excel kullanıyorlar, bu nedenle hafif biçimlendirilmiş ve çok basit hesaplamalar içeren yüzlerce Excel e-tablosuna sahipler. E-tabloları boyuta göre sıralarken, e-tabloların çoğu 10-250k arasında değişirken, 2-3 MB ve daha büyük dosya boyutlarına sahip bir avuç e-tablo olduğunu gördüm. Garip bir şekilde, dosya boyutları çok büyük değildi, çok fazla veri tutmuyorlar, sadece biraz biçimlendiriyorlar, belki iki veya üç sayfa basılı faturalar, ancak veri miktarı neredeyse daha küçük boyutlu (ve normal açılış) e-tablolarla neredeyse aynıydı .

Dosyayı açarken, gerekli RAM miktarı 3 MB'dan 400 MB'a yükselir ve başlangıçta tamamen tek bir çekirdeği (ofiste çift çekirdekli ve dört çekirdekli dizüstü bilgisayarımda test edilir) işgal eder. Bir şekilde VBA kodu yakaladıklarını düşündüm, ancak makro yok, VBA kodu yok. Ctrl + End 39 satırı ve yaklaşık 12 sütunu (M'de biter) gösterir. Veri kalmayıncaya kadar verileri, satır satır veya sütun sütun bile sildim ve hala bana aynı sorunu veriyor.

Çok sayıda Google aramasını inceledim, ancak hiçbir yere ulaşmadım. Herkes yardım edebilir mi?


Bir başka ilginç not: xlsx dosyasını Excel 2007'de xls dosyası olarak kaydedemiyorum, ancak Google Dokümanlar'a içe aktarıp ardından bir xls dosyası olarak kaydederek normal boyutta bir dosya tekrar elde ediyorum.
Simon Hova

Yanıtlar:


7

Sorunumun cevabını buldum!

Allquixotic tarafından bana verilen ipuçlarını kullanarak, xlsx dosyalarını 7-Zip'te açtım ve dosya boyutlarını karşılaştırdım. Diğerlerinden çok daha büyük bir dosya vardı . Xl \ drawings \ drawing1.xml dosyası, biçimlere defalarca birden çok başvuru içeren bir dosyadır.

Bir model bulmaya çalışmak için birkaç saat geçirdim, ancak yapamadım. Yapabildiğim hiçbir şey işe yaramadı! Sonra, ağırlaştırmanın geçmesinden sonra, lanet dosyayı sildim ve Excel'de yeniden açmaya çalıştım (2010 - Excel 2007'de test etmedi).

Dosyanın hasar gördüğünden şikayet etti ve onarım denemek isteyip istemediğimi sordu. Dosyanın onarılması şekli sildi, ancak dosyanın biçimlendirmesini hiç değiştirmedi. Dosyayı biraz tuhaf olan aynı dosya olarak yeniden kaydetmek zorunda kaldım, ancak işe yaradı!

Daha önce de belirttiğim gibi, bu çözümü Excel 2010 dışındaki ürünler için test etmedim, bu yüzden şekil dosyasının Excel 2k7 veya herhangi bir OpenOffice ürünü için kritik olup olmadığını bilmiyorum. Ancak, benzer bir sorununuz varsa, umarım bu yardımcı olabilir.


Aynı sorunla dosya karşılaştım. Drawing1.xml silmek yerine, sheet1.xml çizim çizim referans kaldırıldı ve "farklı kaydet". Olası neden posta, internet veya diğer e-tablolardan veri veya biçimlendirilmiş dizeler kopyalanıyor olabilir.
Andrei

1
Benzer bir durumla karşılaştı. Benim durumumda, boyutu "kabul edilebilir" 200 KB ila 80 MB arasında değişen birkaç drawingN.xml vardır. Bu dosya, dizlerine 16GB RAM ile dört çekirdekli masaüstü bile getiriyor. Tüm drawingN.xml dosyasını kaldırmak (Excel dosyası herhangi bir grafik / grafik içermediğinden) sorunu çözmek için, bu yazma sırasında en son Office 365'te çalışır.
Martheen Cahya Paulo

6

İkili .xls biçimini veya yeni XML tabanlı .xlsx biçimini mi kullanıyorsunuz? Genel olarak .xlsx biçimi dosya boyutunda önemli bir düşüşe neden olur.

Belgede saklanan çok fazla stil gibi şeyleri kontrol edin.

"Kişisel bilgileri kaldırmayı" (Excel / Word / vb. Bir özelliği), dosyada oturan belirli türdeki rüzgarı temizlemek için deneyin.

E-tablo daha önce paylaşılmışsa veya daha önce paylaşılmışsa, içinde eski paylaşım verileri depolanmış olabilir.

Basit bir düzeltme, yalnızca söz konusu e-tablodaki alakalı verileri kopyalayıp yeni bir veriye yapıştırmak, ardından .xlsx biçiminde kaydetmek ve ne kadar küçük olduğunu görmektir. Çok küçükse, cevabınızı alırsınız - Excel dahili dosya formatının veri yapılarının zayıf hesabını yapıyor.

Ayrıca karmaşık veya dairesel formüller ve harici sayfalara (özellikle ağ sürücülerinde bulunan) referans olup olmadığını kontrol edin. Bir formülün yavaş olabileceğini düşünüyorsanız, formül denetleme aracını kullanarak formülün içinden geçebilirsiniz.

Son şey: eğer bir .xlsx olarak kaydederseniz ve hala büyükse, OpenXML SDK Verimlilik aracını indirmeyi deneyin: http://www.microsoft.com/en-us/download/details.aspx?id=5124

Buradaki .xlsx dosyasını açın ve dosyadaki tüm öğelere bir göz atın ve herhangi bir şeyin açıkça yabancı olup olmadığını görün. Bu, XML ve belirli OpenXML şemaları hakkında bilgi gerektirebilir, ancak şişmeye neyin neden olduğunu bulmak için kesin bir yoldur.

Not: Bu tür şeyler sizi rahatsız ediyorsa, Microsoft formatlarını / programlarını kullanmayı bırakın veya müşterinize bunu yapmasını önerin. "Microsoft Access veritabanı şişkinliği" için google ise Microsoft'un kendi özel biçimlerini hiçbir zaman temizlenmez diske gereksiz yararsız veri sızıntı izin uzun bir geçmişi olduğunu göreceksiniz. RAM'iniz yerine diskinizi yiyen gerçekten kötü bir bellek sızıntısı gibi.


Elektronik tablo gerçekten bir xlsx ve tek bir şey: Bir .xls dosyası olarak kaydedemiyorum. Excel 2k7'de bir hata döndürüyor. Bir kopyasını 2003 xml elektronik tablo olarak kaydettim ve bulduğum garip şey, çok sayıda stil listelemesiydi . Elektronik tablonun tamamı aynı yazı tipini kullandığından ve özel biçimlendirme olmadığından bu gariptir. Hala müţterime ne söyleyeceđimi bilmiyorum.
Simon Hova

2

Başka bir olası çözüm:

  1. Sorunlu Excel dosyasının bir kopyasını oluşturma
  2. Bu kopyayı aç
  3. CTRL + A tuşlarına basın ve ardından "Temizle" -> "Formatları Temizle" yi tıklayın.
  4. Her çalışma sayfasında 3. adımı tekrarlayın
  5. Dosyayı kaydedin ve yeniden açmayı deneyin

Çok fazla biçimlendirme olduğunda, özellikle de birçok tek tek hücreye uygulanan birçok farklı stil varsa, Excel dosyaları açarken biçimlendirme uygulamaya çalışırken gerçekten zorlanır.

Doğal olarak, tüm biçimlendirmeyi kaldırdığınızda, kenarlık, gölgeleme, vb. Olan tüm hücrelerde yalnızca varsayılan stil uygulanan metne sahip olursunuz. Ancak bu şekilde sorunun nedenini belirleyebilirsiniz.


0

Boyutta önemli bir azalma için .xlsb biçimini deneyebilirsiniz. Excel'in sağladığı diğer XML tabanlı formatlardan daha fazlasını azaltmalıdır.

Bu forma sayfalarından birini açın ve formata bir göz atın. Normal bir şey arayın. Tüm sütunu başka bir excel e-tablosuna kopyalamaya ve yalnızca değerleri yapıştırmaya çalışın (biçimlendirme olmadan). Yardım edip etmediğine bakın.


Xlsb'de kaydetmeyi denedim. Boyutta hiç azalma yok. Ekran görüntüsü .
Simon Hova

@Simon Hova Hesaplamayı manuel olarak ayarlamaya ve excel'i yeniden başlatmaya çalıştınız mı? Herhangi bir şey olabilir: formüller, biçimlendirme. Performansın aynı olup olmadığını görmek için veri sütununu başka bir excel e-tablosuna kopyaladınız mı? Sadece veriler; formül veya biçimlendirme yok. Bunları teker teker ekleyin ve sorunun nerede olduğunu görün.
TwirlMandarin

Oradaki başka garip şey olduğunu yürütülüyor hiçbir formüller vardır hiçbir hesaplama. Bazı küçük biçimlendirme ile sadece birkaç satır ve sütun. Veriyi satır satır silmeyi denedim ve daha önce olduğu gibi aynı boyutta bir dosya bıraktım. Hala güdük.
Simon Hova

0

Benim durumumda sorun "Tablo olarak biçimlendir" ile ilgilidir. Tabloda 16000 boş sütun vardı. Bu tür bir sorunun en sık nedenlerinden biri olduğunu düşünüyorum.


0

Tüm çalışma sayfasındaki tüm koşullu biçimlendirme kurallarına bir göz attım ve bir sürü yük vardı. Ben geçtim ve hepsini temizledim ve sonra gerçekten ihtiyacım olanları yarattım ve şimdi gerçekten hızlı. Ayrıca ihtiyacım olmayan tüm 'Bağlantılardan' kurtuldum ve hepsi iyi çalıştıktan sonra .xlsb olarak kaydedin ve şimdi daha da hızlı: o)


Bu, diğer yanıtlardaki bilgileri çoğaltır ve bu yüzden "teşekkürler" yorumu gibi gelir.
bereneb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.