国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP處理CSV表格文件的常用操作方法總結(jié)

2024-05-04 23:47:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

要做在線Excel表格編輯功能,Excel的xls文件格式的解析就是個(gè)問(wèn)題,畢竟這是微軟Office的私有專利格式.
所以要做的話還是用通用的csv(Comma Separated Value,逗號(hào)分隔值)格式吧.
各種辦公軟件都能識(shí)別csv表格,其實(shí)就是以特定分隔符(比如逗號(hào))分隔單元格的表格.
拿PHP來(lái)說(shuō),fgetcsv讀入csv表格,返回一個(gè)數(shù)組,
然后foreach輸出成HTML的<table>,這步操作幾行代碼就能實(shí)現(xiàn),非常簡(jiǎn)單.
工作量主要還在于瀏覽器前端,建議你用jQuery進(jìn)行DOM和AJAX操作,
要實(shí)現(xiàn)phpMyAdmin那樣細(xì)粒度雙擊單元格編輯,然后AJAX提交也不難,
或者整個(gè)表格寫好后一次性$("form").serialize();然后AJAX提交也可以.

CSV表格的幾條規(guī)則:
1.每一行的單元格內(nèi)容之間用逗號(hào)分隔.
2.如果單元格的內(nèi)容本身有逗號(hào),這個(gè)單元格的內(nèi)容將會(huì)用引號(hào)包含.
3.如果單元格的內(nèi)容本身有引號(hào):
(1)引號(hào)不在首或尾,這個(gè)單元格內(nèi)容不會(huì)被引號(hào)包含.
(2)引號(hào)在首或尾,這個(gè)單元格內(nèi)容會(huì)被引號(hào)包含,并且原來(lái)首尾的引號(hào)會(huì)被轉(zhuǎn)義.

讀寫CSV

<?phpheader('Content-Type: text/plain; charset=utf-8');//導(dǎo)出CSV表格:數(shù)組轉(zhuǎn)CSV$arr = array (  array('ab', 'cd'),  array('"a,b"', '"c,d"'),);$fp = fopen('file.csv', 'w');foreach ($arr as $row) {  //將一行格式化為CSV并寫入文件指針  fputcsv($fp, $row);}fclose($fp);unset($arr);//導(dǎo)入CSV表格:CSV轉(zhuǎn)數(shù)組$fp = fopen('file.csv', 'r');while ( ($row = fgetcsv($fp)) !== FALSE ) {  //從文件指針中讀入一行并解析CSV  $arr[] = $row;}fclose($fp);var_export($arr);

另存為一個(gè)獨(dú)立文件
download.php:

 <?php$list = array (  'aaa,bbb,ccc,dddd',  '123,456,789',  '"aaa","bbb"');session_start();$_SESSION['outputArray']=$list;?><a href="test.php" target="_blank">下載csv文件</a>

test.php:
<?phpsession_start();$outputArray=$_SESSION['outputArray'];header('Content-Type: application/csv');header('Content-Disposition: attachment;filename="sales.csv"');$output=fopen('php://output','w') or die("can not open");foreach ($outputArray as $line) {  fputcsv($output, split(',', $line));}fclose($output) or die("can not close");?>

自動(dòng)保存csv文件到指定地點(diǎn)
<?php$list = array (  'aaa,bbb,ccc,dddd',  '123,456,789',  '"aaa","bbb"');$fp = fopen('file.csv', 'w');foreach ($list as $line) {  fputcsv($fp, split(',', $line));}fclose($fp);?>


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 开化县| 沽源县| 建瓯市| 威远县| 和平县| 海原县| 沁阳市| 咸宁市| 石棉县| 普定县| 翼城县| 五指山市| 淅川县| 云梦县| 临沧市| 微山县| 景宁| 曲阜市| 临清市| 筠连县| 河间市| 饶河县| 丽江市| 二连浩特市| 台江县| 茂名市| 岳池县| 吉首市| 灵寿县| 扎兰屯市| 佛学| 阿勒泰市| 晋宁县| 江永县| 临城县| 铜陵市| 正阳县| 桐乡市| 沁源县| 巴彦县| 永兴县|