Kapan format xlsm atau xlsb harus digunakan?

106

Sejak Excel 2007, Microsoft telah membagi klasik .xlsformat yang beberapa format (khususnya, .xlsx, .xlsm, .xlsb). Saya tidak punya masalah untuk memahami penggunaan dan tujuan .xlsxformat tetapi saya masih bertanya-tanya apakah kita harus menggunakan .xlsmatau .xlsbformat saat membuat file yang berisi beberapa VBA.

Tentu saja, Anda dapat menemukan beberapa topik di web, misalnya:

Apa yang saya pahami dari tautan terakhir ini .xlsmadalah semacam format XML dan karenanya, diperlukan untuk tab pita kustom.

Di luar perbedaan konseptual antara formatnya ( .xlsmberdasarkan XML VS .xlsbadalah file biner ), adakah perbedaan praktis saat menggunakan salah satu file ini (selain dari kustomisasi pita)?
Pernahkah Anda melihat perbedaan nyata saat menggunakan salah satu format ini?

JMax
sumber
3
xlsb biasanya lebih kecil dari xlsm
Charles Williams
Beberapa info berguna di sini - analystcave.com/…
Chris
1
Untuk beberapa alasan, menggunakan .xlsb di atas .xlsm memecahkan beberapa masalah yang kami alami dengan Fungsi Buatan Pengguna yang membuat objek bayangan dalam model objek: superuser.com/questions/1005482/…
SuMau

Jawaban:

62

Mereka semua serupa karena pada dasarnya mereka adalah file zip yang berisi komponen file sebenarnya. Anda dapat melihat isinya hanya dengan mengganti ekstensi dengan .zip dan membukanya. Perbedaan dengan xlsb tampaknya adalah bahwa komponennya tidak berbasis XML tetapi dalam format biner: konon ini bermanfaat saat bekerja dengan file besar.

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

Tim Williams
sumber
File .xls adalah format biner. File .xlsb mempertahankan format biner ini untuk versi kantor yang lebih baru. Ada perbedaan ukuran dan keuntungan kecepatan untuk menyimpan data dalam format biner, meskipun peningkatan hanya akan dicatat dalam file yang SANGAT besar.
music2myear
90

.xlsxmemuat 4 kali lebih lama dari .xlsbdan menyimpan 2 kali lebih lama dan memiliki 1,5 kali file yang lebih besar. Saya menguji ini pada lembar kerja yang dihasilkan dengan 10'000 baris * 1'000 kolom = 10'000'000 (10 ^ 7) sel =…+1rumus dirantai sederhana :

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

(Perangkat Keras: Core2Duo 2,3 GHz, RAM 4 GB, 5,400 rpm SATA II HD; Windows 7, dengan beban yang agak berat dari proses lain.)

Selain itu, tidak boleh ada perbedaan. Lebih tepatnya,

kedua format mendukung rangkaian fitur yang persis sama

mengutip posting blog ini dari 2006-08-29. Jadi mungkin info yang .xlsbtidak mendukung kode Ribbon lebih baru dari kutipan atas, tapi saya pikir sumber forum Anda salah. Saat membobol file biner, tampaknya file tersebut meniru struktur file OOXML 1-to-1: Artikel blog dari 2006-08-07

Aaron Thoma
sumber
2
hanya satu percobaan, tidak ada hasil ministat (1): - \
Orang Baik
2
Saya mengonfirmasi bahwa salah satu file saya dengan pita kustom berfungsi dengan baik di xlsb.
David G
5
@PatrickLepelletier .xlsxseperti itu .xlsm, hanya dengan makro yang dinonaktifkan. Keduanya berbasis XML. Berbeda dengan itu, .xlsbadalah biner. Jadi, Anda harus membaca pertanyaan sebagai "{.xlsx / .xlsm} versus .xlsb". (Tidak ada versi biner yang dinonaktifkan makro .xlsb.)
Aaron Thoma
4
Jika xlsb lebih baik, mengapa xlsx menjadi default? Harus ada kerugian untuk xlsb?
PProteus
3
@PProteus, sederhananya xlsb lebih baik di area tertentu. Ide keseluruhan untuk memperkenalkan standar XML adalah agar lebih transparan, membuat file lebih portabel dan manipulasi file lebih mudah. Sekarang alat pihak ketiga dapat membaca / menulis file Excel dengan benar (saya tahu, mereka dapat melakukannya dengan beberapa rekayasa terbalik tetapi itu rawan kesalahan). Di sisi lain, menggunakan file Excel yang besar sebenarnya bukanlah penggunaan utama Excel sehingga keuntungan untuk menjadi lebih portabel sedikit. Selain itu, menggunakan file non-makro meningkatkan keamanan sampai tingkat tertentu. Sebagai perbandingan, mengapa repot dengan Java jika Assembler lebih baik?
Ister
9

Orang dapat berpikir bahwa xlsb hanya memiliki keunggulan dibandingkan xlsm. Fakta bahwa xlsm berbasis XML dan xlsb adalah biner adalah bahwa saat terjadi kerusakan buku kerja, Anda memiliki peluang lebih baik untuk memperbaiki xlsm daripada xlsb.

Felipe Costa Gualberto
sumber
1
Jika itu benar maka xlsm adalah satu-satunya untuk saya. Saya telah dikutuk dengan file Excel yang rusak sejak pertengahan 90-an. Itu hampir cukup untuk membuatku mengambil selokan untuk mencari nafkah. Office 2000 adalah versi pertama dengan fitur pemulihan file. Tapi saya tidak
riderBill
Ekstensi file XLSX dan XLSM jauh lebih stabil daripada ekstensi file XLS Excel pra-2007.
Felipe Costa Gualberto
8

Hanya untuk anak cucu, berikut teks dari beberapa sumber eksternal terkait format file Excel. Beberapa di antaranya telah disebutkan dalam jawaban lain untuk pertanyaan ini tetapi tanpa mereproduksi konten esensial.

1. Dari Doug Mahugh, 22 Agustus 2006 :

... format biner XLSB baru. Seperti Open XML, ini adalah format file dengan ketelitian penuh yang dapat menyimpan apa pun yang Anda buat di Excel, tetapi format XLSB dioptimalkan untuk kinerja dengan cara yang tidak mungkin dilakukan dengan format XML murni.

Format XLSB (terkadang juga disebut sebagai BIFF12, seperti dalam "format file biner untuk Office 12") menggunakan Konvensi Pengemasan Terbuka yang sama yang digunakan oleh format Open XML dan XPS. Jadi pada dasarnya ini adalah wadah ZIP, dan Anda dapat membukanya dengan alat ZIP apa pun untuk melihat apa yang ada di dalamnya. Tetapi alih-alih bagian .XML di dalam paket, Anda akan menemukan bagian .BIN ...

Artikel ini juga mengacu pada dokumentasi tentang format BIN , terlalu panjang untuk direproduksi di sini.

2. Dari Arsip MSDN, 29 Agustus 2006 yang mengutip entri blog yang sudah hilang terkait format XLSB:

Meskipun kami telah melakukan banyak pekerjaan untuk memastikan bahwa format XML kami terbuka dengan cepat dan efisien, format biner ini masih lebih efisien untuk dibuka dan disimpan Excel, dan dapat menyebabkan beberapa peningkatan kinerja untuk buku kerja yang berisi banyak data, atau yang membutuhkan banyak parsing XML selama proses Buka. (Faktanya, kami telah menemukan bahwa format biner baru lebih cepat daripada format XLS lama dalam banyak kasus.) Selain itu, tidak ada versi bebas makro dari format file ini - semua file XLSB dapat berisi makro (VBA dan XLM) . Dalam semua hal lainnya, ini secara fungsional setara dengan format file XML di atas:

Ukuran file - ukuran file dari kedua format kurang lebih sama, karena kedua format disimpan ke disk menggunakan Arsitektur kompresi zip - kedua format menggunakan struktur pengemasan yang sama, dan keduanya memiliki struktur tingkat bagian yang sama. Dukungan fitur - kedua format mendukung set fitur yang persis sama Performa runtime - setelah dimuat ke memori, format file tidak berpengaruh pada aplikasi / kecepatan kalkulasi Pengonversi - kedua format akan memiliki dukungan konverter yang identik

UuDdLrLrSs
sumber
5

Format XLSB juga didedikasikan untuk makro yang disematkan dalam file buku kerja tersembunyi yang terletak di folder startup excel (XLSTART).

Tes cepat & kotor dengan xlsm atau xlsb di folder XLSTART:

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

0,89s dengan xlsb (biner) versus 1,3s dengan konten yang sama dalam format xlsm (xml dalam file zip) ... :)

Alexis-Emmanuel Haeringer
sumber