如題:
因公司需要開發此功能,但是網路上找到的大多都是使用PHPExcel之類的套件工具,而公司的需求是不使用這類套件工具,直接用原生PHP的方式開發,請問有沒有什麼線索或者範例可供參考呢?
先確定你要匯入的是 Excel
檔案,或者只是 csv
檔案
如果是 Excel 檔案,就參考這篇或參考PHPSpreadsheet自己寫
如果是 csv 檔案,就參考這篇
不管答案是那一個
我都想說
原來真正的問題在"不信任"!
太矯枉過正了!
世界的進步 是 "站在巨人的肩膀上"
如果不站在"巨人(前人)"的肩膀上, 那人類無法進步, 早就被吃光了!
貴司應該換個角度對待"不信任"
去了解"框架""套件"原理(但不需要全盤了解)
然後去駕馭它們, 而不是排斥它們
就跟駕馭 linux+PHP 這兩個"套件" 一樣!
1. 了解, 因為網路上很多人用linux+PHP, 用的很好
2. 駕馭, 貴司用linux+PHP, 也用的很好
3. 信任, 用的很好 就信任了
開車 坐飛機 口罩 很多事都是同此理!
請同理對待其他"框架""套件"吧!
共勉之!
說服別人你的事情會變少(別人會覺得你專業),被別人說服你的事情會變多(別人反而覺得你不專業)。
現在的就業環境(至少在台灣)會說話跟會做事一樣重要。
PHPExcel都已經是開放原始碼,你可以花時間去寫一個跟他們一模一樣功能的套件出來,對,套件,你們也不可能花時間去寫個PHP出來,難道你們不怕PHP突然哪天破產倒閉而沒得用嗎?還是你們覺得LINUX某個發行版廠不會決定不再玩下去?你知道CentOS已經決定不玩了嗎? https://www.ithome.com.tw/news/141582
如果信任感這麼不值錢,全都要自己的智產權,那你們投入在製造工作的時間,會遠多於賺取收入的時間吧
(以上是個人觀點)
該說的話,其它人都說了。我就不多說了。
要自幹其實是可以的。
如果不考量97~2003版的話。
其實OFFICE的東西,都是XML+ZIP的組合體的。
但XML的對應規則及節點名稱跟目錄的對應。
早期曾經在MSDN相關的論壇有找過。但現在已經找不到。
如果你有研究的心態。你可以將OFFICE相關系列如 docx xlsx等文件式的檔案。
先掛上ZIP的副檔名後再解壓縮。
你就會看到一些目錄跟一堆XML的東西。
OFFICE的文件檔就是這樣結合起來的。
而在PHP中,要生成XML的東西很容易。
只是真的用PHP來組合成一個XLSX或DOCX。真的很累。
要注意的東西非常的多。
再來繼續教你第二招,這招也是我早期常用的招式。
去試試一個方式。你將html直接改名成doc或docx試試。
你會發現WORD其實可以正確的顯示出來。(雖然不是100%)
不過好像不適用在xlsx上就是了。
至於97~2003版的。因為它們的特性比較特殊。
映像中是壓縮及分配的東西不同。且好像是帶入了類似base64的觀念存在。
所以要處理會有點難度就是了。
以上,是我以前沒用套件時的做法。是可以提供給你參考研究。
再來說說用套件的觀念。
真不想使用套件的話,你也是可以參考套件的處理方式。然後自已用一套出來。
對套件覺得不安全的公司的確大有人在。我也有做過不用套件自開發的東西出來的經驗過。
能力行,不用套件當然一方面代表你的功力不錯。至於開發時間就見仁見智就是了。
我不會說不用套件就不行。也不會說用了套件也不行。
只要給我時間跟金錢,我重寫一個專用的套件出來也行。
反正付錢的是老大,我不擔心沒用套件就辦不到這件事。
人家為了信任感肯花時間跟金錢。為何不幫他做呢?給個安全感也行啊。
但沒錢沒時間,沒門!!!。叫客戶OOXX去。
不好意思借版發問!!!
其實我們公司也有這種要求...
可是當我在找答案時(stackoverflow)多半的回答都說xlsx的編碼無法解(或者很難解)
所以無法用原生PHP方式去抓裡面資料
所以並不是無法用PHP寫抓Excel資料
是這樣嗎??
我的英文能力只能懂一半,其他人說的(文件結構)不是很懂....我以為跟csv一樣讀進來號好
Reading Excel Files In PHP without third party libraries
((感激版主題問這個問題,我真的困擾很久很久又不敢問這種基本問題
但後來我還是不會用原生PHP去抓xlsx,覺得自己超廢...那陣子真的是打code會打到哭出來
謝謝版主,也謝謝願意回覆我的大神