作者:zccst
参考网址:
php对csv文件的常用操作集合
http://blog.xhbin.com/archives/748
1,下载CSV格式文档
唯一需要特别注意的是编码。
<?
include_once("conn/conn.php");//连接数据库
$EXCEL_OUT="id,title,info\n";//生成字段
$query="select * from tb_info";//需要生成的数据查询语句
$result=mysql_query($query);
while($ROW=mysql_fetch_array($result))
{
$id=$ROW["id"];
$title=$ROW["title"];
$content=$ROW["content"];
$EXCEL_OUT.=iconv('UTF-8','GB2312',"$id,$title,$content\n");
}
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=生成文件名称.csv"); //“生成文件名称”=自定义
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $EXCEL_OUT;
?>
2,生成.csv文件(不下载)
$action = $_GET['action'];
if ($action=='make'){
$fp = fopen("csv.csv","a"); //打开csv文件,如果不存在则创建
$data_arr1 = array("10001","10002","10003","10004","公司"); //第一行数据
$data_arr2 = array("20001","20002","20003","20004","中午"); //第二行数据
$data_str1 = implode(",",$data_arr1); //用 ' 分割成字符串
$data_str2 = implode(",",$data_arr2); //用 ' 分割成字符串
$data_str = $data_str1."\r\n".$data_str2."\r\n"; //加入换行符
fwrite($fp,iconv('UTF-8','GB2312',$data_str)); //写入数据
fclose($fp); //关闭文件句柄
echo "生成成功";
}
echo "<br>";
echo "<a href='?action=make'>生成csv文件</a>";
//批注:由于涉及文件读写,所以有权限要求。比如通过http方式是无法创建该文件的。(可以通过php file.php方式)
附:iconv 用法
string iconv ( string $in_charset , string $out_charset , string $str )
iconv — Convert string to requested character encoding
参数:
1,in_charset 输入字符串的编码
2,out_charset 输出字符串的编码
If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can't be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character and an E_NOTICE is generated.
3,str 被转码的字符串
返回值:
返回转码后的字符串或false(返回失败时)。
可能会用到两个可选的辅助参数:IGNORE和TRANSLIT
例如:iconv("UTF-8","GB2312//IGNORE",$data)
如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
相关推荐
总结一下,PHP生成CSV文件的步骤包括: 1. 连接数据库:使用mysqli或PDO扩展建立与数据库的连接。 2. 执行SQL查询:获取需要导出的数据。 3. 创建CSV文件:使用fopen函数打开一个文件句柄,准备写入数据。 4. 写入...
大家一般都会知道到生成的csv文件,中文或其他的语言会出现乱码的问题,这是因为csv它不支持utf-8的原因,在我上传的这个文件中已经很好的解决了它的乱码的问题,如果不会使用可以给我留言
在电子商务领域,特别是淘宝平台,商品的管理和上传是一项...关键在于理解CSV格式,处理商品数据,并适配淘宝助理的导入要求。同时,根据特定需求(如自动编号、图片处理)进行定制化开发,能够进一步提升工作效率。
CSV(Comma Separated Values)格式是一种通用的数据交换格式,因其简单性和广泛的兼容性而被广泛使用。本文将深入探讨如何使用PHP来实现数据导出成CSV文件。 首先,我们需要了解CSV文件的基本结构。CSV文件是以...
在PHP编程中,CSV(Comma Separated Values)文件是一种常用的数据交换格式,因其简单易用而被广泛应用于数据导入和导出。CSV文件通常由一系列由逗号分隔的值组成,每行代表一个记录,每个记录由一个或多个字段组成...
在PHP中,导出CSV文件是一项常见的任务,特别是在...3. 使用`fputcsv`函数按照CSV格式写入数据。 通过以上步骤,你可以创建一个无乱码的CSV文件导出脚本。在实际项目中,你可能需要根据具体的数据源和需求进行调整。
开发者可以构建一个视图,将查询结果转化为CSV格式,然后通过HTTP响应头设置为“Content-Type: text/csv”和“Content-Disposition: attachment; filename=filename.csv”,让浏览器下载这个CSV文件。 6. 测试环境...
但PHP生成csv要比生成excel文件要简单的多,生成csv文件其实就是把以 , 号为分割符的字符串存成 .csv为扩展名的文件。 因为逻辑不难,具体请看下面的代码和注释。 <?php /** * Created by PhpStorm. * User:...
要将mysql的查询结果导出为csv,一般会使用php连接mysql执行查询,将返回的查询结果使用php生成csv格式再导出。 但这样比较麻烦,需要服务器安装php才可以实现。 直接使用mysql导出csv方法 我们可以使用 into ...
3. **数据组装**:类可能提供`assembleData()`方法,允许用户将数组数据按照特定格式组合成CSV格式的字符串,方便写入或预览。 4. **数据验证**:在导入数据时,类可能有`validateData()`方法,对输入数据进行检查...
虽然说csv是一种比较简单的excel表格形式,生成只要按指定格式然后生成.csv文件就可以,但是在使用中也会遇到很多问题,下面给大家分享下PHP下载csv文件及问题总结 首先大家先看个例子,生成csv文件并下载 //要生成...
本篇文章将详细介绍如何使用PHP来生成CSV文件,并解决数字前的零被自动删除的问题。 首先,我们创建一个包含CSV数据的字符串。在给定的描述中,开发者定义了一个名为`$exportdata`的字符串,其中包含了列名,每个...
将数据转换为CSV格式并写入文件。 ```php private function generateCsvFile($data, $filename) { $filePath = $filename . '.csv'; $fp = fopen($filePath, 'w'); foreach ($data as $row) { fputcsv($fp, ...
本示例将详细解释如何使用PHP来生成CSV文件。 首先,我们需要创建一个PHP脚本来执行这个任务。在这个例子中,我们有一个名为`export-csv.php`的文件,它是实现CSV导出的核心。 在`export-csv.php`中,首先要做的是...
总之,学习如何使用PHP将CSV数据导入数据库是一项基础但重要的技能,它可以帮助你处理各种数据导入需求,无论是数据分析、报表生成还是数据迁移。对于初学者来说,理解并实践这一过程是提升编程能力的好方法。
CSV格式是一种简单且通用的数据交换格式,而Excel文件(通常是.xlsx或.xls格式)通常用于更复杂的表格数据存储。通过PHP,我们可以轻松地读取这些文件内容,或者将数据写入到这些文件中。 描述中的"写入读取mysql...
自己编写的一个csv文件读写类,可以实现读入csv文件并封装为一个对象,还可以动态生成csv对象并保存为csv文件
LaraCSV一个Laravel软件包,可以轻松地从Eloquent模型生成CSV文件。 基本用法$ users = User :: get(); //所有用户$ csvExporter = new \ Laracsv \ Export(); $ csvExporter-> build($ users,['email','name...