用php導出資料到excel文件,沒用PHPExcel類,自己寫了一個簡單的程式
產生excel文件,然後把資料一行一行輸入
但是身分證號輸出成了科學計數,網路上有解決方案,一個是前面加引號,確實能解決問題,
另一個http://www.cnblogs.com/jcz120...
但感覺好麻煩,請問諸位,除了這兩種解決方案,難道就沒什麼別的辦法了嗎?
謝謝各位了
用php導出資料到excel文件,沒用PHPExcel類,自己寫了一個簡單的程式
產生excel文件,然後把資料一行一行輸入
但是身分證號輸出成了科學計數,網路上有解決方案,一個是前面加引號,確實能解決問題,
另一個http://www.cnblogs.com/jcz120...
但感覺好麻煩,請問諸位,除了這兩種解決方案,難道就沒什麼別的辦法了嗎?
謝謝各位了
把身分證號追加一個空格,其實就是把數字轉換成字串就可以了
在身分證數字前面加上一個單引號(英文輸入狀態下的單引號),例如 '4400202.....
要么加個單引號,要么預先把單元格格式改為文字格式,這倆是最簡單的解決方案了,還麻煩..?
前面加上單引號:$objPHPExcel->getActiveSheet()->setCellValue('A1', "'". 123456789033);
指定資料型態:<code>$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);</code>
很簡單,曾經遇到過,在後面加一個"431226198910135411"."t",完全解決。如果解決了您的問題,請記得粉一個哦,微信公眾號:phpgod。
+++更新分割線,時間:2016-10-9 11:18:09+++🎜segmentfault的編輯器真心把我噁心到了,上面的t竟然給我轉義了,艹! 🎜 🎜 🎜你產生的是什麼格式的excel文件,🎜csv🎜、🎜xls🎜還是🎜xlsx🎜,1,3的話,生成相對好處理,🎜csv🎜按分隔符,但是處理不好字串,🎜xlsx🎜csv🎜是xml(感覺你應該是封裝了處理這個吧),🎜xlsx🎜的格式裡面有專門存字串的xml,需要把字串存到這個xml裡面,再根據字串的序號去取(這樣設計估計能減少重複字串佔用資源)。不過還是用🎜PHPExcel🎜吧,直接用🎜Composer require🎜下就好了,我之前也寫了個讀取和生成excel的庫,後面兼容性什麼的比較麻煩,就直接用🎜PHPExcel🎜了。畢竟別人填了不少坑。 🎜 🎜另外PHPExcel處理字串的方法,樓上有提到。 🎜 🎜Copy樓上的:🎜<code>$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1',123456789033, PHPExcel_Cell_DataType::TYPE_STRING);</code>