recherche
Maisonphp教程php手册(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常

http://blog.csdn.net/thefirstwind/archive/2008/05/09/2422715.aspx 很多人通过拼字符串,直接使用fwrite来写CSV文件,这样固然没有错,但是如果遇到允许引号和逗号出现的情况,恐怕就显得非常麻烦了。 例如: $csvDate = 中文,日文,韩文,西班牙','文,阿拉

http://blog.csdn.net/thefirstwind/archive/2008/05/09/2422715.aspx

很多人通过拼字符串,直接使用fwrite来写CSV文件,这样固然没有错,但是如果遇到允许引号和逗号出现的情况,恐怕就显得非常麻烦了。

例如:
$csvDate = "中文,日文,韩文,西班牙','文,阿拉伯文";
$srcDir = '/workspace/CSVList';
$srcFile = $srcDir.date("Ymd").".csv";
if(!is_dir($srcDir)){
    $fh = fopen($srcFile,'wb');
    fwrite($fh,$csvDate);
    fclose($fh);
}

我们想要得CSV文件是这样的格式

中文 日文 韩文 西班牙','文 阿拉伯文  

但是由于,西班牙文中有单引号和逗号
实际上在Excel中是这样的
中文 日文 韩文 西班牙' 阿拉伯文

解决方法一般来说就是使用转义符来进行赋值,不过如果遇到海量数据的情况下,这样的办法是不可取的。
下面推荐使用array_push和fputcsv相结合的方法来解决该问题。

这里通过程序来说明:

(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常$srcDir = '/workspace/UnLockList/';
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
!is_dir($srcDir) ) && (mkdir($srcDir, 0777&& chmod($srcDir,0777)) ;
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
$srcFile = $srcDir . date("Ymd". '.csv';
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
$rs0 = GetCSVData($PRDBConn);  //UnLockTN_Request返回的是二维数组
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
$fh = fopen($srcFile, 'wb');
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
if(count($rs0)){
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常        fputcsv(
$fh,split(',',"申請ID,機種名,EB-№,申請№,部品名,LockUser"));
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常        
foreach($rs0 as $line0 ){
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常                fputcsv(
$fh,$line0);
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常        }
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常}
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常fputcsv(
$fh,array());
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
fclose($fh);
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常
chmod($srcFile,0666);

 function GetCSVData ($PRDBConn){

      $RETURN_ARRAY = array();
      //数据库连接
   .....
   .....

  $RS01 = 记录集;
      foreach ($RS01 AS $ROW01){
      $line = array();
         array_push($line,$ROW01["ID"]);
         array_push($line,$ROW01["NAME"]);
         array_push($line,$ROW01["NO"]);
         .......
         array_push($RETURN_ARRAY,$line);
       }

         return $RETURN_ARRAY; 
   }
(PHP)海量数据输出CSV文件时由于特殊字符引起的CSV文件格式异常


如上程序所示,就可以解决大量数据输出成CSV文件中,出现特殊意义字符,导致输出CSV文件格式异常的问题了。

 

 

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.