Nombor PHP Excel tidak dipaparkan sepenuhnya
Dalam kerja harian, fail Excel sering digunakan untuk pemprosesan data. PHPExcel ialah perpustakaan sambungan yang biasa digunakan untuk PHP untuk mengendalikan fail Excel Walau bagaimanapun, dalam proses menggunakan PHPExcel, kami sering menghadapi masalah paparan nombor yang tidak lengkap.
Masalah ini berlaku disebabkan oleh pengehadan Excel pada format nombor. Bilangan maksimum digit yang Excel boleh paparkan ialah 15 digit Apabila bilangan digit melebihi 15, Excel akan membulatkan digit selepas nombor, menyebabkan paparan nombor itu tidak lengkap.
Bagaimana untuk menyelesaikan masalah ini? Di bawah ini kami akan memperkenalkan tiga penyelesaian biasa.
Kaedah 1: Sesuaikan format
Selesaikan masalah paparan nombor yang tidak lengkap dengan menyesuaikan format nombor.
Memformat nombor dalam PHPExcel adalah mudah, hanya gunakan kod berikut:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00);
Kod ini memformat nombor dalam sel A1 kepada dua tempat perpuluhan.
Jika anda ingin menyimpan lebih banyak tempat perpuluhan, anda boleh menukar kod kepada:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode('0.000000');
Dengan cara ini kita boleh mengekalkan enam tempat perpuluhan.
Nota: Kaedah ini hanya sesuai untuk nombor dengan bahagian perpuluhan yang panjang Jika bahagian integer terlalu panjang, ia akan menyebabkan nombor tersebut menjadi tatatanda saintifik.
Kaedah 2: Format nombor
Selesaikan masalah paparan nombor yang tidak lengkap dengan memformat nombor.
Dalam PHPExcel, gunakan number_format()
untuk memformat nombor ke dalam format yang ditentukan.
Contohnya:
$num = 1234567890123456.789; $formattedNum = number_format($num, 2, '.', '');
Kod ini memformat $num
ke dalam bentuk dengan dua tempat perpuluhan Apabila dipaparkan dalam Excel, ia akan menjadi: 1,234,567,890,123,460.00.
Kami juga boleh memformat nombor ke dalam notasi saintifik dengan cara berikut:
$formattedNum = number_format($num, 0, '.', '');
Kod ini akan memformat $num
ke dalam notasi saintifik dan memaparkannya dalam Excel E+15.
Kaedah 3: Tukar nombor kepada format teks
Selesaikan masalah paparan nombor yang tidak lengkap dengan menukar nombor kepada format teks.
Dalam PHPExcel, kita boleh menggunakan kod berikut untuk menukar nombor kepada format teks:
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '1234567890123456.789', PHPExcel_Cell_DataType::TYPE_STRING);
Kod ini memberikan rentetan '1234567890123456.789'
ke sel A1 dan Jenis grid ditetapkan kepada teks.
Walaupun kaedah ini akan menukar nombor kepada format teks, ia mungkin terjejas semasa pemprosesan data, jadi anda perlu memberi perhatian.
Ringkasan
Di atas adalah tiga kaedah untuk menyelesaikan masalah paparan nombor yang tidak lengkap dalam PHPExcel. Kita boleh memilih kaedah yang berbeza untuk menyelesaikan masalah ini mengikut situasi sebenar.
Jika bahagian perpuluhan nombor terlalu panjang, adalah disyorkan untuk menggunakan format tersuai jika bahagian integer nombor terlalu panjang, adalah disyorkan untuk menggunakan kaedah nombor yang diformatkan; perlu diproses dengan tepat, adalah disyorkan untuk menggunakan kaedah pemformatan nombor Tukar kepada format teks.
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika nombor excel php tidak dipaparkan sepenuhnya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!