ホームページ  >  記事  >  バックエンド開発  >  PHPでCSVテーブルファイルを加工する一般的な操作方法まとめ

PHPでCSVテーブルファイルを加工する一般的な操作方法まとめ

高洛峰
高洛峰オリジナル
2016-12-26 14:39:041091ブラウズ

オンラインの Excel テーブル編集機能を使用するには、Excel の xls ファイル形式の解析が問題になります。結局のところ、これは Microsoft Office の独自の特許形式です。したがって、それを実行したい場合は、一般的な csv (カンマ区切り値 (カンマ区切り値) 形式です。
さまざまなオフィス ソフトウェアは、実際には特定の区切り文字 (カンマなど) で区切られたテーブルである CSV テーブルを認識できます。
配列を返し、foreach はそれを HTML の f5d188ed2c074f8b944552db028f98a1 として出力します。このステップは非常に簡単です。
ワークロードは主にブラウザーのフロントエンドにあります。 DOM と AJAX の操作には jQuery を使用します。
phpMyAdmin のようなセルのきめ細かなダブルクリックを実現するには、AJAX 経由で編集して送信するのは難しくありません。
または、$("form") を使用してフォーム全体を一度に記述することもできます。

CSV テーブルのいくつかのルール:

セルの内容はカンマで区切られます。このセルは引用符で囲まれます。

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);

別ファイルとして保存

download.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>

test.php:

<?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");
?>

CSVファイルを指定した場所に自動的に保存

<?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);
?>

CSVを処理するための一般的な操作方法の詳細については、こちらをご覧くださいPHP のテーブル ファイルについては、PHP 中国語 Web サイトの関連記事に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。