摘要:目前導(dǎo)出方式占用內(nèi)存較大。比如有些狀態(tài)字段,數(shù)據(jù)庫存的就是數(shù)字或只占一個字節(jié),完全換成中文狀態(tài)的話,可能達個字節(jié)甚至更多。若是必須要用中文形式。中文亂碼解決的話,其實也很簡單,函數(shù),將轉(zhuǎn)為編碼,在中打開就不會錯了
問題描述:
目前、一般情況下,在web開發(fā)過程中,使用導(dǎo)入導(dǎo)出報表的情形很多。我們先說導(dǎo)出。項目數(shù)據(jù)量多導(dǎo)出行數(shù)較多,50萬行左右,選擇的是csv方式導(dǎo)出。針對以下應(yīng)用場景,導(dǎo)出過程有幾點需要注意的的地方。
(測試使用環(huán)境、php7.1,mysql5.7.22,mysql5.5.53,mac自帶numbers 6.0版本,Windows系統(tǒng) Excel2007版)
應(yīng)用場景:
1、用戶只習(xí)慣用Excel處理數(shù)據(jù),csv導(dǎo)出但是用excel打開。
2、無論導(dǎo)入導(dǎo)出,用戶均對數(shù)據(jù)表格格式?jīng)]有要求(邊框、底紋、對齊等),僅對數(shù)據(jù)格式有基本要求(數(shù)字、文本、浮點數(shù)等)。
3、后端對xls/xlsx大文件的導(dǎo)入性能較差。(目前php導(dǎo)出excel方式占用內(nèi)存較大。大數(shù)據(jù)導(dǎo)出很可能就是內(nèi)存溢出)
導(dǎo)出注意點:
1、導(dǎo)出數(shù)據(jù)龐大,盡可能少用漢字。比如有些狀態(tài)字段,數(shù)據(jù)庫存的就是數(shù)字或只占一個字節(jié),完全換成中文狀態(tài)的話,可能達6個字節(jié)甚至更多。效率受影響。若是必須要用中文形式。盡可能精簡。
2、其他常見問題。先看一組圖:
這是初始要導(dǎo)出的數(shù)據(jù)
這是csv格式展示,這是我們想要的結(jié)果。
這是windows系統(tǒng)excel2007版本打開的樣子。
仔細(xì)觀察,我們發(fā)現(xiàn)了幾個問題:zifunumebr字段前導(dǎo)0都沒了。number字段有個長整型變成了科學(xué)計數(shù)法。zifu字段中文漢字變成了亂碼。最后一行zifu、fudian字段在excel中顯示的時候合并了。
這里解決方法其實也很簡單。就是在插入字段后面加一個制表符 “t”,注意,不能使用單引號。這樣一來除了中文亂碼不能解決,其他類型字段都能解決。中文亂碼解決的話,其實也很簡單,iconv函數(shù),將urf-8轉(zhuǎn)為GBK編碼,在Excel中打開就不會錯了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/31547.html
摘要:直接通過構(gòu)造函數(shù)進行創(chuàng)建。構(gòu)造函數(shù)是一個對象,可以包含下面兩個屬性類型類型未知返回空字符串決定的數(shù)據(jù)格式數(shù)據(jù)中的如何被轉(zhuǎn)換,可以取值為不變默認(rèn)或者按操作系統(tǒng)轉(zhuǎn)換方法返回一個新的對象,包含了源對象中指定范圍內(nèi)的數(shù)據(jù)。 front-end 前段時間項目中有個需求,將數(shù)據(jù)導(dǎo)出為csv。最近閑下來,整理下相關(guān)知識點。 What is Blob 一個 Blob對象表示一個不可變的, 原始數(shù)據(jù)的類...
摘要:還原導(dǎo)出的表數(shù)據(jù)部分字段的表數(shù)據(jù)導(dǎo)入還原文件 一、 mongodump備份數(shù)據(jù)庫 1.一般常用的備份命令格式 mongodump -h IP --port 端口 -u 用戶名 -p 密碼 -d 數(shù)據(jù)庫 -o 文件存在路徑 如果想導(dǎo)出所有數(shù)據(jù)庫,可以去掉-d 2.導(dǎo)出數(shù)據(jù)庫[root@local ~]# mongodump -h 127.0.0.1 --port 30216 -d t...
摘要:將另存為格式時,文件將工作表中的單元格所顯示的文本和數(shù)值以逗號分離進行保存。方法此處使用模塊的函數(shù)讀取文件,函數(shù)以字典形式返回,字典的鍵則是這個單元格的標(biāo)題即列頭,每一個單元格內(nèi)容放在字典的值內(nèi)。 前言 數(shù)據(jù)是進行量化交易的基礎(chǔ)和關(guān)鍵,目前國內(nèi)做量化產(chǎn)品的金融機構(gòu)大部分是從券商獲取高頻實時行情數(shù)據(jù)的,另外很多金融網(wǎng)站也提供了數(shù)據(jù)接口,可以調(diào)用接口方式獲取,也可以用爬蟲的方式獲取。文本講...
閱讀 3938·2021-09-09 09:33
閱讀 1802·2021-09-06 15:14
閱讀 1939·2019-08-30 15:44
閱讀 3091·2019-08-29 18:36
閱讀 3781·2019-08-29 16:22
閱讀 2106·2019-08-29 16:21
閱讀 2549·2019-08-29 15:42
閱讀 1662·2019-08-29 11:00