当前位置:首页 > 日记 > 正文

PHP实现CSV文件导入和导出

PHP实现CSV文件导入和导出
在项目开发中,如何将外部CSV文件实现到数据库中,或者多次将数据导出到CSV文件中本文将使用PHP并结合MySQL实现CSV格式数据的导入和导出功能。

我们首先准备MySQL数据表,假设有一个记录学生信息的表学生,以及ID、姓名、性别和年龄记录学生的姓名、性别、年龄和其他信息。
创建表(学生)
` ID ` int(11)不为空auto_increment,
`名字` varchar(50)不为空,
`性` varchar(10)不为空,
`年龄` SmallInt(3)不为空的默认'0',
主键(id)
= MyISAM引擎默认的字符集utf8);
我们还需要一个HTML交互页面来放置导入表单和导出按钮。
请选择要导入的CSV文件:<输入类型提交
类=按钮value=csv>
<输入type=按钮class=按钮value=导出CSVonclick=窗口位置。href =do.php
操作=导出>

在选择当地的CSV文件,单击导入,将它做的。phpaction =进口加工,并单击导出按钮,然后请求地址做。phpaction =出口出口数据。

1。csv

do.php需要处理进出口根据得到的参数的过程,和PHP的结构如下:
include_once(连接。PHP); / /数据库连接
行动=美元_get美元{ 'action};
如果($行动= = 'import / /)为CSV
{
进口/待遇
} elseif($行动= = 'export ')/导出CSV
{
导出处理
}
导入CSV进程:检查CSV文件(被忽略的合法性)读取并解析在字段周期中打开的CSV文件>字段值>批量添加到数据表中,完成。
如果($行动= = 'import){ / /成CSV
文件名=美元美元_files { } { } 'tmp_name '文件';
如果(emptyempty($文件名))
{
请选择您要导入的CSV文件!;
出口;
}
为处理= fopen($文件名,R');
结果= input_csv美元($处理); / / CSV
$len_result = count ($result);
如果($ len_result = = 0)
{
没有数据!;
出口;
}
为($我= 1;$我<< len_result美元; / / $ i++)循环获取字段值
{
$name = iconv('gb2312 ','utf-8,$结果{ $我} { 0 }); / /中文转码
性别= iconv('gb2312美元,美元'utf-8 ',结果{ $我} { 1 });
年龄=结果$ { 2 } };
data_values美元=($名','性'的美元,美元的时代),;
}
data_values美元= substr(data_values美元,0,1); / /删除最后一个逗号
Fclose($处理 / /关闭);指针
查询= mysql_query美元(插入学生(姓名、性别、年龄)值data_values美元); / /批量插入数据表
如果($查询)
{
导入成功!;
其他{ }
回波导入失败!;
}
}
需要注意的是,PHP fgetcsv函数可以很容易地处理CSV文件,使用这个函数从文件指针中读取一行并解析CSV字段。以下函数解析CSV文件字段和数组的形式返回。
功能input_csv($处理)
{
($ =数组);
$ = 0;
而($data = fgetcsv(合处理,10000))
{
$ =计数($ data);
($ i = 0;$ i;
{
$;
}
美元+;
}
退回美元;
}
此外,在导入数据库时,我们使用批插入而不是插入一个bar。因此,在构建SQL语句时,我们需要稍微处理它并查看代码。

2。导出CSV

我们知道,CSV文件是一个由逗号分隔的纯文本文件,你可以用Excel打开它,,XLS相同。

CSV导出处理过程:学生信息表记录字段信息构建周期>逗号分隔的集标头信息>导出文件(下载)到本地

} elseif($行动= = 'export ')/导出CSV
{
结果= mysql_query美元(SELECT * FROM学生订单ID ASC );
姓名,性别,年龄;
$str = iconv('utf-8 ','gb2312,$str);
而($行= mysql_fetch_array($结果))
{
$name = iconv('utf-8 ','gb2312 ',$行{ 'name' }); / /中文转码
合性= iconv('utf-8 ','gb2312 ',' } { $行'sex);
$ $ - $名称。
}
为文件名=日期('ymd。.csv); / /设置文件名
export_csv($文件名,$str); / /出口
}
要将数据导出到本地,需要修改标头信息。代码如下:
功能export_csv($文件名,$数据)
{
页眉(内容类型:文本);
标题(内容配置:附件;文件名);
头('cache-control:must-revalidate,后检查= 0,预先检查= 0);
头('expires:0);
头('pragma:公众);
回波数据;
}
注意进出口过程中,因为我们是统一采用UTF-8编码,我们必须记住转码的汉字,否则,我们可能会有中文乱码情况。

以上是本文的全部内容,希望本文对大家的PHP程序设计有所帮助。

相关文章

搞笑QQ签名选择和搞笑个性签名

搞笑QQ签名选择和搞笑个性签名

选择,搞笑,个性签名,电脑软件,QQ,和我无关的事,请离开我的世界。Rdquo,为你的QQ选择一个有趣的签名。 1,你是在英俊和如何,最后是不给死亡吃和擦 2,我不熟悉你,不动就美的呼唤。 3、学会不着急,拿打火机,拿书就不会在那里了。 4。对一个人来说,你的…

用JS生成随机数的一个例子

用JS生成随机数的一个例子

随机数,例子,电脑软件,JS,随机数的JS代主要采用随机()内置的数学对象的方法,使用方法如下:Math.random(),它返回一个随机数的0 ~ 1。用这样的方法,它是很好的理解,是产生随机数。在现实中,例如,我们可能以下需求: (1)生成一个0-100之间的随机整数,然后: p…

PSV是日本美学和优雅的肖像背光效

PSV是日本美学和优雅的肖像背光效

日本,肖像,美学,优雅,效果,日本风格和类型的图片较多,但在静物中,主要人物,采用逆光或逆光,饱和度低,对比度低,具有合理的光线和空间,整幅画面干净、淡雅,给人一种宁静、平和的感觉。 日本风格和类型的照片,但还是生活的主要特征,使用背光或背光,低饱…

CG美女脸创意剥离效果PS制作教程

CG美女脸创意剥离效果PS制作教程

创意,制作教程,效果,美女,电脑软件,网络上有很多很酷的人物,那么怎样才能产生某种效果呢今天,萧边带给你一些教程。这个CG美女面部创意碎片碎裂效果,ps制作教程,效果图片很有创意,制作过程也不太复杂,有兴趣的朋友可以试试看。 关于皮肤脱皮的教…

经典签名无经典签名

经典签名无经典签名

经典,电脑软件,QQ、微信和微薄的拥有自己的签名或声明。人们的情绪是复杂多样的。他们大多用语言表达。这是个性化签名,希望大家喜欢。 爱情有时又仁慈又残酷。我要像爱你一样去爱他。 所有这些面孔,让我为你和盛大。 最讨厌的事不是陌生人,而…

教你用PS给你的室友是一个动态的We

教你用PS给你的室友是一个动态的We

动态,是一个,室友,教你用,电脑软件,本教程介绍朋友给你的室友做一套动态微信豪华表情包的很好。哦,这个方法不是很难。让我们把萧边介绍给你。 今天,我向大家推荐一个很好的教程。它也很简单,就是教你使用PS制作一套你的室友动态微信豪华表情…

PPT如何画半圆PPT基本教程

PPT如何画半圆PPT基本教程

教程,半圆,电脑软件,PPT,许多用户不知道如何在PPT文件中画半圆。我们知道PPT在计算机上画一个圆是很容易的,但是如何画一个半圆其实是很简单的。让我们一起来看看解决方案。 我们知道PPT很容易在计算机上画一个圆,但是你怎么画一个半圆呢 1。…

如何添加QQ空间应用QQ技巧

如何添加QQ空间应用QQ技巧

空间,技巧,电脑软件,QQ,QQ空间(Qzone)是腾讯公司开发的个人空间2005。它有博客的功能,已被许多人自世界。在QQ空间里,你可以写日志,上传个人图片的用户,听音乐,写心情,让自己以各种不同的方式。此外,用户还可以设置空间的背景、小衣架等根据个人的感…

ai快速生成纠结丝的效果

ai快速生成纠结丝的效果

效果,快速,电脑软件,ai,本教程是向朋友介绍一个快速制作现实丝绸包装的朋友。包装效果很好,难度也不大。建议像你这样的朋友一起学习。 本教程是向您介绍ai的效果,使快速和现实的缠绕文本。本教程生成的文本非常好,方法非常简单。萧边认为教程…

excel生产图excel基础教程

excel生产图excel基础教程

基础教程,电脑软件,excel,表格数据中所表达的信息往往枯燥而不易理解。如果把它做成图表,可以一目了然,如图1所示。 图表制作程序——办公室;图可以利用表中的数据创建图表。这个程序是在办公工具的一个组成部分,不仅Excel可以调用,也可被称为…

CorelDraw:创意的基础知识。

CorelDraw:创意的基础知识。

创意,基础知识,电脑软件,CorelDraw,本教程讲解Corel的朋友画创作的知识,教材是与朋友早接触的基础上可以了解到,一起学习。 本教程介绍了CDR的朋友相关的基本知识,在Corel Draw创造性知识讲解,对于想学习或是学习CDR的朋友有一定的帮助,感兴趣的…

收费类转录:字体设计技巧的迷宫设计

收费类转录:字体设计技巧的迷宫设计

字体,方法,转录,迷宫,技巧,本教程介绍了迷宫字体设计技巧的一个朋友的设计方法。这个教程真的很好。这是一个收费标准的免费课程。建议过来一下。让我们看一看。 今天为您介绍设计的迷宫字体设计的设计方法,课程很不错,值得学习,推荐给大家,一…