Dengan perkembangan pesat pemformatan, jadual Excel telah menjadi alat yang sangat diperlukan dalam kerja harian kami. Bagi pembangun, menggunakan bahasa PHP untuk membaca jadual Excel juga merupakan salah satu tugas yang kerap diperlukan. Walau bagaimanapun, apabila membaca jadual Excel, aksara bercelaru mungkin muncul, menyebabkan kesulitan untuk menjalankan program dan pemprosesan data. Artikel ini akan membincangkan sebab dan penyelesaian untuk aksara bercelaru dalam jadual Excel yang dibaca oleh PHP.
1. Apakah kod bercelaru Excel?
Walaupun fail Excel disimpan dalam binari, ia juga mengandungi maklumat versi XML dalam pengepala failnya, yang memberitahu kami kaedah pengekodan yang digunakan. Sebab mengapa Excel bercelaru adalah kerana PHP tidak mengenali format pengekodan dalam fail dengan betul semasa membaca fail Excel, mengakibatkan aksara bercelaru.
2. Sebab aksara Excel bercelaru
1 Kaedah pengekodan tidak konsisten
Apabila kami menyalin teks dengan kaedah pengekodan yang berbeza ke dalam jadual Excel, jika format pengekodan semasa Excel. Berbeza daripada teks yang disalin, aksara bercelaru akan muncul.
2. Format storan data tidak betul
Terdapat format storan data yang berbeza dalam Excel, seperti teks, nombor, tarikh, dsb. Jika format storan data dalam Excel tidak betul, ia akan mengakibatkan aksara bercelaru.
3. Terdapat masalah dengan fail itu sendiri
Kadang-kadang terdapat masalah dengan fail Excel itu sendiri yang boleh menyebabkan aksara bercelaru. Contohnya, dalam fail Excel yang dimampatkan, jika kami tidak menggunakan alat penyahmampatan yang betul untuk menyahmampat fail, fail itu mungkin rosak.
3 Penyelesaian kepada aksara bercelaru Excel
1 Ubah suai kaedah pengekodan Excel
Dalam Excel, kami boleh menetapkan kaedah pengekodan fail secara manual untuk memastikan ia. adalah konsisten dengan pengekodan PHP Konsistensi pendekatan. Langkah-langkah khusus adalah seperti berikut:
a. Buka fail Excel, klik tab "Fail", dan pilih "Pilihan".
b. Pilih pilihan "Lanjutan" dalam tetingkap timbul.
c. Cari lajur "Pilihan Serantau" dan tukar format teks daripada format lalai asal kepada format yang konsisten dengan PHP (seperti UTF-8).
2. Ubah suai kaedah pengekodan dalam kod
Kami boleh menetapkan kaedah pengekodan fail semasa membaca fail Excel untuk memastikan PHP dapat mengenal pasti kandungan teks dalam Excel dengan betul. Kod khusus adalah seperti berikut:
$reader = PHPExcel_IOFactory::createReader('Excel2007' );
$reader->setReadDataOnly(true);
$reader->setEncoding(' UTF-8 ');
$PHPExcel = $reader->load($filename);
3. Semak format storan data dalam Excel
Kami boleh menetapkan storan data format dalam Excel , untuk memastikan maklumat boleh dibaca dengan betul oleh PHP. Sebagai contoh, apabila kita membaca jadual Excel yang mengandungi tarikh, kita boleh menggunakan kod berikut:
$objPHPExcel->getActiveSheet() ->getStyle('A1') ->getNumberFormat() -> ;setFormatCode (PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);
4. Semak sama ada fail itu rosak
Kami boleh menyelesaikan masalah Excel yang bercelaru dengan menyemak integriti fail Excel. Anda boleh memilih untuk menggunakan alat pembungkusan untuk membungkus fail Excel ke dalam fail zip, kemudian gunakan alat penyahmampatan untuk menyahmampat fail dan menyemak sama ada fail dinyahmampat dengan betul.
Ringkasan:
Masalah Excel bercelaru adalah salah satu masalah biasa apabila PHP membaca Excel Penyelesaian utama ialah: ubah suai kaedah pengekodan Excel, ubah suai kaedah pengekodan dalam kod dan semak Excel format storan data dan semak sama ada fail itu rosak. Situasi yang berbeza mungkin memerlukan kaedah pengendalian yang berbeza, tetapi menyelesaikan masalah ini boleh meningkatkan kecekapan membaca Excel dan membawa kemudahan kepada proses pembangunan.
Atas ialah kandungan terperinci Bincangkan sebab dan penyelesaian untuk aksara bercelaru dalam jadual Excel yang dibaca oleh PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!