Xlsm veya xlsb formatları ne zaman kullanılmalıdır?


106

Excel 2007 yılından bu yana, Microsoft, klasik bölmüştür .xls(özellikle birçok biçimi biçimi .xlsx, .xlsm, .xlsb). Biçimin kullanımını ve amacını anlamakta bir sorunum yok .xlsxama yine de biraz VBA içeren bir dosya oluştururken bir biçim mi .xlsmyoksa bir .xlsbbiçim mi kullanmamız gerektiğini merak ediyorum .

Elbette, web'de bazı konular bulabilirsiniz, örneğin:

Bu son bağlantıdan anladığım şey, .xlsmbunun bir çeşit XML formatı olduğu ve dolayısıyla özel şerit sekmesi için gerekli olduğudur.

Ötesinde kavramsal biçimi arasındaki fark ( .xlsmdayalıdır XML VS .xlsbbir olan ikili herhangi yoktur, dosyası) pratik (ayrı şerit özelleştirme itibaren) bu dosyanın herhangi kullanarak fark?
Bu formatlardan herhangi birini kullanırken hiç gerçek bir fark gördünüz mü?


3
xlsb genellikle xlsm'den daha küçüktür
Charles Williams

Burada bazı yararlı bilgiler - analystcave.com/…
Chris

1
Nedense, .xlsm üzerinde .xlsb kullanarak biz oluşturarak hayali nesne modelindeki nesneleri bir Kullanıcı Tanımlı Fonksiyon ile yapıyorduk bazı sorunlar çözüldü: superuser.com/questions/1005482/...
SuMau

Yanıtlar:


62

Hepsi, esasen gerçek dosya bileşenlerini içeren zip dosyaları olmaları bakımından benzerdir. İçeriği yalnızca uzantıyı .zip ile değiştirip açarak görebilirsiniz. Xlsb ile arasındaki fark, bileşenlerin XML tabanlı olmaması, ancak ikili formatta olmasıdır: sözde bu, büyük dosyalarla çalışırken yararlıdır.

https://blogs.msdn.microsoft.com/dmahugh/2006/08/22/new-binary-file-format-for-spreadsheets/


.xls dosyaları ikiliydi. .xlsb dosyaları, daha yeni ofis sürümleri için bu ikili biçimi korur. Verileri ikili biçimde depolamanın hem boyut farkı hem de hız avantajı vardır, ancak iyileştirmeler yalnızca ÇOK büyük dosyalarda belirtilecektir.
music2myear

90

.xlsx4 kat daha uzun yükler .xlsbve 2 kat daha uzun süre tasarruf sağlar ve 1,5 kat daha büyük bir dosyaya sahiptir. Bunu, oluşturulmuş bir çalışma sayfasında 10'000 satır * 1'000 sütun = 10'000'000 (10 ^ 7) basit zincirli =…+1formüllerin hücresi ile test ettim :

╭──────────────╥────────┬────────╮
│              ║ .xlsx  │ .xlsb  │
╞══════════════╬════════╪════════╡
│ loading time ║ 165s   │  43s   │
├──────────────╫────────┼────────┤
│ saving time  ║ 115s   │  61s   │
├──────────────╫────────┼────────┤
│ file size    ║  91 MB │  65 MB │
╰──────────────╨────────┴────────╯

(Donanım: Core2Duo 2.3 GHz, 4 GB RAM, 5.400 rpm SATA II HD; Windows 7, diğer işlemlerden biraz ağır yük altında.)

Bunun yanında hiçbir farklılık olmamalıdır. Daha kesin,

her iki format da tam olarak aynı özellik setini destekler

2006-08-29 tarihli bu blog gönderisine atıfta bulunuyor . Belki de .xlsbŞerit kodunu desteklemeyen bilgi üst alıntıdan daha yenidir, ancak forum kaynağınızın yanlış olduğunu anladım. İkili dosyayı kırarken, OOXML dosya yapısını 1'e 1'e yoğun bir şekilde taklit ediyor gibi görünüyor: 2006-08-07 tarihli blog makalesi


2
yalnızca bir deneme, hiçbir ministat (1) sonuç vermedi: - \
Good Person

2
Özel şeritli dosyalarımdan birinin xlsb'de iyi çalıştığını onaylıyorum.
David G

5
@PatrickLepelletier .xlsxgibidir .xlsmsadece devre dışı makrolarla. Her ikisi de XML tabanlıdır. Bunun aksine .xlsb, ikili. Bu nedenle soruyu "{.xlsx / .xlsm} ve .xlsb" olarak okumalısınız. (İkili dosyanın makro devre dışı bırakılmış bir sürümü yoktur .xlsb.)
Aaron Thoma

4
Eğer xlsb daha iyiyse, xlsx neden öntanımlıdır? Xlsb için bazı dezavantajlar olmalı?
PProteus

3
@Proteus, basitçe xlsb belirli bir alanda daha iyidir. XML standardını uygulamaya koymanın tüm fikri, daha şeffaf olmak, dosyaları daha taşınabilir hale getirmek ve dosya işlemeyi kolaylaştırmaktı. Artık üçüncü taraf araçlar Excel dosyalarını düzgün bir şekilde okuyabilir / yazabilir (biliyorum, bunu tersine mühendislik ile yapabilirlerdi, ancak bu hataya açıktı). Öte yandan, büyük Excel dosyalarını kullanmak gerçekten Excel'in birincil kullanımı değildir, bu nedenle daha taşınabilir olmanın ödünleşimi çok azdır. Ek olarak, makro olmayan bir dosya kullanmak güvenliği bir dereceye kadar artırır. Bir karşılaştırma olarak, Assembler daha iyiyse neden Java ile uğraşasınız ki?
Ister

9

Xlsb'nin yalnızca xlsm'ye göre avantajları olduğu düşünülebilir. Xlsm'nin XML tabanlı olması ve xlsb'nin ikili olması, çalışma kitabı bozulması meydana geldiğinde, xlsm'yi xlsb'den daha iyi onarma şansına sahip olmanızdır.


1
Bu doğruysa, xlsm benim için olanıdır. 90'ların ortalarından beri bozuk Excel dosyalarıyla lanetlendim. Geçimim için hendek kazmam için neredeyse yeterliydi. Office 2000, dosya kurtarma özelliğine sahip ilk sürümdü. But I don
riderBill

XLSX ve XLSM dosya uzantıları, 2007 öncesi Excel XLS dosya uzantısından çok daha kararlıdır.
Felipe Costa Gualberto

8

Gelecek nesiller için, işte Excel dosya biçimleriyle ilgili birkaç harici kaynaktan gelen metin. Bunlardan bazıları, bu soruya verilen diğer yanıtlarda, ancak temel içeriği yeniden oluşturmadan bahsedilmiştir.

1. Doug Mahugh, 22 Ağustos 2006'dan :

... yeni XLSB ikili biçimi. Open XML gibi, Excel'de oluşturabileceğiniz her şeyi saklayabilen tam uyumlu bir dosya formatıdır, ancak XLSB formatı, saf XML formatıyla mümkün olmayan şekillerde performans için optimize edilmiştir.

XLSB biçimi (bazen “Office 12 için ikili dosya biçimi” olarak BIFF12 olarak da anılır), Açık XML biçimleri ve XPS tarafından kullanılan aynı Açık Ambalaj Sözleşmesini kullanır. Yani temelde bir ZIP kapsayıcısı ve içinde ne olduğunu görmek için herhangi bir ZIP aracıyla açabilirsiniz. Ancak paketteki .XML parçaları yerine .BIN parçalarını bulacaksınız ...

Bu makale ayrıca BIN biçimiyle ilgili , burada çoğaltılamayacak kadar uzun belgelere de atıfta bulunmaktadır .

2. 29 Ağustos 2006 tarihli MSDN Arşivinden, XLSB formatıyla ilgili olarak zaten eksik olan bir blog gönderisine atıfta bulunulmaktadır:

XML biçimlerimizin hızlı ve verimli bir şekilde açıldığından emin olmak için çok fazla çalışma yapmış olsak da, bu ikili biçim Excel'in açıp kaydetmesi için yine de daha etkilidir ve çok sayıda çalışma kitabı içeren çalışma kitaplarında bazı performans iyileştirmelerine yol açabilir. veri veya bu, Open işlemi sırasında çok fazla XML ayrıştırması gerektirir. (Aslında, yeni ikili biçimin birçok durumda eski XLS biçiminden daha hızlı olduğunu bulduk.) Ayrıca, bu dosya biçiminin makrodan bağımsız bir sürümü yoktur - tüm XLSB dosyaları makro içerebilir (VBA ve XLM) . Diğer tüm açılardan, işlevsel olarak yukarıdaki XML dosya biçimine eşdeğerdir:

Dosya boyutu - her iki formatın dosya boyutu yaklaşık olarak aynıdır, çünkü her iki format da zip sıkıştırma Mimarisi kullanılarak diske kaydedilir - her iki format da aynı paketleme yapısını kullanır ve her ikisi de aynı parça seviyesinde yapılara sahiptir. Özellik desteği - her iki format da tam olarak aynı özellik setini destekler Çalışma zamanı performansı - belleğe yüklendikten sonra dosya formatının uygulama / hesaplama hızı üzerinde hiçbir etkisi olmaz Dönüştürücüler - her iki format da aynı dönüştürücü desteğine sahip olacaktır


5

XLSB biçimi ayrıca, excel başlangıç ​​klasöründe (XLSTART) bulunan gizli bir çalışma kitabı dosyasına gömülü makrolara adanmıştır.

XLSTART klasöründe bir xlsm veya xlsb ile hızlı ve kirli bir test:

Measure-Command { $x = New-Object -com Excel.Application ;$x.Visible = $True ; $x.Quit() }

Xlsb (ikili) ile 0,89s ile xlsm formatında aynı içeriğe sahip 1,3s (bir zip dosyasında xml) ... :)

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.