>  기사  >  백엔드 개발  >  PHP로 CSV 테이블 파일을 처리하기 위한 일반적인 작업 방법 요약

PHP로 CSV 테이블 파일을 처리하기 위한 일반적인 작업 방법 요약

高洛峰
高洛峰원래의
2016-12-26 14:39:041132검색

온라인 엑셀 표 편집 기능을 사용하려면 엑셀의 xls 파일 형식을 파싱하는 것이 문제다. 이는 결국 마이크로소프트 오피스의 비공개 특허 형식이다.
그래서 사용하고 싶다면 사용해야 한다. 범용 csv(쉼표로 구분된 값, 쉼표로 구분된 값) 형식
다양한 사무용 소프트웨어는 실제로 특정 구분 기호(예: 쉼표)로 구분된 셀이 포함된 csv 테이블을 인식할 수 있습니다. fgetcsv는 csv 테이블을 읽고
배열을 반환한 다음 foreach를 HTML f5d188ed2c074f8b944552db028f98a1로 출력합니다. 이 단계는 단 몇 줄의 코드로 수행할 수 있습니다.
워크로드는 매우 간단합니다. DOM 및 AJAX 작업에는 jQuery를 사용하는 것이 좋습니다.
phpMyAdmin처럼 세밀한 더블클릭 셀 편집을 구현한 다음 AJAX를 통해 제출하는 것은 어렵지 않습니다. > 또는 전체 양식을 한 번에 작성한 다음 AJAX를 통해 제출할 수 있습니다.

CSV 테이블에 대한 몇 가지 규칙:

1. 각 행의 내용은 쉼표로 표시됩니다.

2. 셀 자체의 내용에 쉼표가 있으면 이 셀의 내용은 따옴표로 묶입니다.
3. 표시:
(1) 따옴표가 시작이나 끝에 있지 않으며 셀 내용은 따옴표 안에 포함되지 않습니다.
(2) 따옴표는 첫 번째 또는 마지막에 이 셀의 내용입니다.

CSV 읽기 및 쓰기

별도의 파일로 저장
<?php
header(&#39;Content-Type: text/plain; charset=utf-8&#39;);
 
//导出CSV表格:数组转CSV
$arr = array (
  array(&#39;ab&#39;, &#39;cd&#39;),
  array(&#39;"a,b"&#39;, &#39;"c,d"&#39;),
);
$fp = fopen(&#39;file.csv&#39;, &#39;w&#39;);
foreach ($arr as $row) {
  //将一行格式化为CSV并写入文件指针
  fputcsv($fp, $row);
}
fclose($fp);
unset($arr);
 
//导入CSV表格:CSV转数组
$fp = fopen(&#39;file.csv&#39;, &#39;r&#39;);
while ( ($row = fgetcsv($fp)) !== FALSE ) {
  //从文件指针中读入一行并解析CSV
  $arr[] = $row;
}
fclose($fp);
var_export($arr);
.php를 다운로드하세요.


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

csv 파일을 지정된 위치에 자동으로 저장
<?php
session_start();
$outputArray=$_SESSION[&#39;outputArray&#39;];
header(&#39;Content-Type: application/csv&#39;);
header(&#39;Content-Disposition: attachment;filename="sales.csv"&#39;);
$output=fopen(&#39;php://output&#39;,&#39;w&#39;) or die("can not open");
foreach ($outputArray as $line) {
  fputcsv($output, split(&#39;,&#39;, $line));
}
fclose($output) or die("can not close");
?>

PHP를 사용하여 CSV 테이블 파일을 처리하는 일반적인 용도 작업 방법을 요약한 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!
<?php
 
$list = array (
  &#39;aaa,bbb,ccc,dddd&#39;,
  &#39;123,456,789&#39;,
  &#39;"aaa","bbb"&#39;
);
 
$fp = fopen(&#39;file.csv&#39;, &#39;w&#39;);
 
foreach ($list as $line) {
  fputcsv($fp, split(&#39;,&#39;, $line));
}
 
fclose($fp);
?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.