Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung gängiger Betriebsmethoden zur Verarbeitung von CSV-Tabellendateien mit PHP

Zusammenfassung gängiger Betriebsmethoden zur Verarbeitung von CSV-Tabellendateien mit PHP

高洛峰
高洛峰Original
2016-12-26 14:39:041138Durchsuche

Um die Online-Excel-Tabellenbearbeitungsfunktion zu nutzen, ist das Parsen des Excel-Dateiformats ein Problem. Schließlich handelt es sich hierbei um ein privates Patentformat von Microsoft Office.
Wenn Sie es also tun möchten, sollten Sie es verwenden das universelle CSV-Format (Comma Separated Value, durch Kommas getrennte Werte)
Verschiedene Office-Software kann CSV-Tabellen erkennen, bei denen es sich tatsächlich um Tabellen mit durch bestimmte Trennzeichen (wie Kommas) getrennten Zellen handelt.
Nehmen Sie PHP als Beispiel. fgetcsv liest die CSV-Tabelle und gibt ein Array zurück,
und gibt es dann als HTML 7083302b831e0e3abacb89d4bd1e32de aus. Dieser Schritt ist im Wesentlichen sehr einfach liegt im Browser-Frontend. Es wird empfohlen, jQuery für DOM- und AJAX-Operationen zu verwenden.
Es ist nicht schwierig, eine feinkörnige Doppelklick-Zellenbearbeitung wie phpMyAdmin zu erreichen und sie dann über AJAX zu senden > Oder Sie können das gesamte Formular auf einmal schreiben und $("form").serialize(); und dann über AJAX senden.

Einige Regeln für CSV-Tabellen:

1 der Zellinhalt jeder Zeile mit Kommas.

2. Wenn der Inhalt der Zelle selbst ein Komma hat, wird der Inhalt dieser Zelle in Anführungszeichen gesetzt
3 enthält Anführungszeichen:
(1) Das Anführungszeichen steht nicht am Anfang oder am Ende, der Zelleninhalt wird nicht in Anführungszeichen gesetzt.
(2) Das Anführungszeichen steht am Anfang oder am Ende des Inhalts Diese Zelle wird in Anführungszeichen gesetzt und das ursprüngliche erste und letzte Anführungszeichen wird maskiert.

CSV lesen und schreiben

Als separate Datei speichern
<?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 herunterladen:


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-Datei automatisch am angegebenen Speicherort speichern
<?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");
?>

Weitere häufige Verwendungsmöglichkeiten für die PHP-Verarbeitung von CSV-Tabellendateien bitte Beachten Sie die PHP-Chinese-Website für verwandte Artikel, die die Betriebsmethoden zusammenfassen!
<?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);
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn