Fitur tombol export ke format spreadsheet bawaan slims akan menghasilkan format xlsx, namun fitur ini sering gagal. File yang dihasilkan sering gagal dibuka.

Export spreadsheet bawaan SLiMS yang menggunakan format .xlsx sering gagal dibuka atau digunakan karena beberapa penyebab teknis umum berikut ini:

1. File .xlsx Dihasilkan Tanpa Validasi Format Excel (OpenXML)
SLiMS versi lama (dan bahkan beberapa plugin) tidak menggunakan library resmi seperti PhpSpreadsheet. Alih-alih itu, mereka:
Membuat file .xls/.xlsx secara manual melalui echo atau hex dump,
Atau hanya mengubah ekstensi dari file HTML atau CSV menjadi .xlsx, padahal itu bukan format OpenXML asli.
Akibatnya, Excel mendeteksi file tersebut tidak sesuai struktur .xlsx dan menampilkan error seperti:
“Excel cannot open the file because the file format or extension is not valid.”

Membuat file .xls/.xlsx secara manual melalui echo atau hex dump,
Atau hanya mengubah ekstensi dari file HTML atau CSV menjadi .xlsx, padahal itu bukan format OpenXML asli.
Akibatnya, Excel mendeteksi file tersebut tidak sesuai struktur .xlsx dan menampilkan error seperti:
“Excel cannot open the file because the file format or extension is not valid.”

2. Library PhpSpreadsheet Tidak Terinstal atau Tidak Aktif
Beberapa pengembang SLiMS mencoba menggunakan PhpSpreadsheet dari PhpOffice tapi:
Tidak mengaktifkan autoloading require ‘vendor/autoload.php’;
Tidak menginstal melalui Composer (composer require phpoffice/phpspreadsheet)
File library tidak tersedia di server
Maka saat script mencoba membuat objek new Spreadsheet() atau new Xlsx(), script tidak bisa jalan — tanpa error jelas karena error PHP kadang ditangkap atau diabaikan.

Tidak mengaktifkan autoloading require ‘vendor/autoload.php’;

Tidak menginstal melalui Composer (composer require phpoffice/phpspreadsheet)

File library tidak tersedia di server

Maka saat script mencoba membuat objek new Spreadsheet() atau new Xlsx(), script tidak bisa jalan — tanpa error jelas karena error PHP kadang ditangkap atau diabaikan.

3. Output Tercampur Echo HTML, Warning, atau Space Kosong
Jika sebelum header() atau save(‘php://output’) ada:
echo, var_dump, atau notice/warning dari PHP
White space (spasi) di luar tag PHP (?> … )
Maka output file Excel jadi korup dan tidak bisa dibuka.

4. Ukuran File dan Memory Limit
Export data dalam jumlah besar ke .xlsx memerlukan:
Memory besar
Eksekusi waktu lama
Jika hosting/shared server memiliki memory_limit dan max_execution_time kecil, file .xlsx bisa:
Kosong
Tidak lengkap
Gagal diunduh

Solusi Disarankan: Gunakan Format CSV
Karena:
CSV ringan dan sederhana
Bisa langsung dibuka di Excel tanpa add-on
Tidak butuh PhpSpreadsheet atau Composer
Kompatibel lintas sistem

untuk mengubah Format CSV makan bisa mengubah file : admin/modules/reporting/spreadsheet.php

silahkan paste dari : https://github.com/erwansetyobudi/pastebin/blob/main/spreadsheet.php

Semoga Bermanfaat.
Salam, Erwan Setyo Budi.