CSV簡(jiǎn)介

在開發(fā)后臺(tái)管理系統(tǒng)的時(shí)候,幾乎無可避免的會(huì)遇到需要導(dǎo)入導(dǎo)出Excel表格的需求。csv也是表格的一種,其中文名為“逗號(hào)分隔符文件”。在Excel中打開如下圖左邊所示,在記事本打開如下圖右邊所示:

再看包含特殊字符的表格

與xls或xlsx 表格相類似,CSV文件也是用來表示二維表格。而不同的是:
1、CSV是一種純文本文件,任何編輯器都能打開并讀取它;xls(x)是專用的二進(jìn)制文件,要用表格軟件才能正常打開,否則亂碼;
2、CSV的體積很小,比如上面的表格內(nèi)容,csv只有幾十b;而xlsx有8k,老格式xls則有18k;
3、CSV的表達(dá)能力有限,只能表示二維數(shù)組(或一維);xls(x)等則有各種文件配置等等信息;可以參考JSON與XML的對(duì)比。

再看CSV的格式特點(diǎn):
1、一般情況下,以逗號(hào)分隔一維數(shù)組(列),以換行分隔二維數(shù)組(行)。
2、當(dāng)表格內(nèi)容有,半角逗號(hào)、換行、空格、tab 等特殊字符時(shí),外面使用雙引號(hào)括起來。
3、當(dāng)表格內(nèi)容有"雙引號(hào)時(shí),轉(zhuǎn)換為兩個(gè)""雙引號(hào),外面用雙引號(hào)括起來。
4、最后可以有空行,或者沒有空行。

CSV格式詳情參考這個(gè)標(biāo)準(zhǔn):rfc4180

PHP導(dǎo)出CSV

導(dǎo)出Excel幾乎是管理后臺(tái)的標(biāo)配功能。PHP能非常方便地設(shè)置HTTP header,控制輸出的形式,而二維數(shù)組轉(zhuǎn)換成CSV字符串也有成熟的函數(shù)庫處理,沒太大技術(shù)難點(diǎn),直接貼源碼。要注意的是此方式導(dǎo)出的CSV最后一行數(shù)據(jù)有一個(gè)\n,即最后會(huì)有一個(gè)空行。

復(fù)制代碼
<?php /*
        		

網(wǎng)友評(píng)論