知识大全 基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)

Posted 函数

篇首语:学习是劳动,是充满思想的劳动。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)相关的知识,希望对你有一定的参考价值。

基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  php导入到excel乱码是因为utf 编码在xp系统不支持所有utf 编码转码一下就完美解决了 utf 编码案例 Php代码

复制代码 代码如下: <?php header("Content Type: application/vnd ms excel; charset=UTF "); header("Pragma: public"); header("Expires: "); header("Cache Control: must revalidate post check=pre check="); header("Content Type: application/force download"); header("Content Type: application/octet stream"); header("Content Type: application/download"); header("Content Disposition: attachment;filename=xls "); header("Content Transfer Encoding: binary "); ?>

   Php代码

复制代码 代码如下: <? $filename="php导入到excel utf 编码"; $filename=iconv("utf " "gb " $filename); echo $filename; ?>

   gbk编码案例 Php代码

复制代码 代码如下: <?php header("Content Type: application/vnd ms excel; charset=UTF "); header("Pragma: public"); header("Expires: "); header("Cache Control: must revalidate post check=pre check="); header("Content Type: application/force download"); header("Content Type: application/octet stream"); header("Content Type: application/download"); header("Content Disposition: attachment;filename=xls "); header("Content Transfer Encoding: binary "); ?>

   Php代码

复制代码 代码如下: <? $filename="php导入到excel utf 编码"; echo $filename; ?>

   访问网站的时候就下载到excel里面 要弄单元格区别的话 用table表格做网页的就可以了 ====================== 其他方法 ============================= 制作简单 Excel

复制代码 代码如下: <?php header("Content type:application/vnd ms excel"); header("Content Disposition:filename=php excel xls"); echo "A /t B /t C /n"; echo "A /t B /t C /n"; echo "A /t B /t C /n"; echo "A /t B /t C /n"; ?>

   制作简单 CSV

复制代码 代码如下: <?php $action =$_GET[ action ]; if ($action== make ) $fp = fopen("demo_csv csv" "a"); //打开csv文件 如果不存在则创建 $title = array("First_Name" "Last_Name" "Contact_Email" "Telephone"); //第一行数据 $data_ = array(" " " " " " " "); $data_ = array(" " "Last_Name" "Contact_Email" "Telephone"); $title = implode(" " $title); //用 分割成字符串 $data_ = implode(" " $data_ ); // 用 分割成字符串 $data_ = implode(" " $data_ ); // 用 分割成字符串 $data_str =$title "/r/n" $data_ "/r/n" $data_ "/r/n"; //加入换行符 fwrite($fp $data_str); // 写入数据 fclose($fp); //关闭文件句柄 echo "生成成功"; echo "<br>"; echo "<a >生成csv文件</a>"; ?>

   也可以做一个封闭函数 封闭函数一

复制代码 代码如下: function exportToCsv($csv_data $filename = export csv ) $csv_terminated = "/n"; $csv_separator = " "; $csv_enclosed = " ; $csv_escaped="//"; // Gets the data from the database $schema_insert=; $out=; // Format the data foreach ($csv_data as $row) $schema_insert=; $fields_cnt=count($row); //printr($row); $tmp_str=; foreach($row as $v) $tmp_str=$csv_enclosed str_replace($csv_enclosed $csv_escaped $csv_enclosed $v) $csv_enclosed $csv_separator; // end for $tmp_str=substr($tmp_str ); $schema_insert=$tmp_str; $out=$schema_insert; $out=$csv_terminated; // end while header("Cache Control: must revalidate post check= pre check= "); header("Content Length: " strlen($out)); header("Content type: text/x csv"); header("Content Disposition:filename=$filename"); echo $out; /* $csv_data=array(array( Name Address )); array_push($csv_data array($row[ name ] $row[ address ])); exportToCsv($csv_data new_file csv ); */

   封闭函数二

复制代码 代码如下: <? /** * Simple class to properly output CSV data to clients PHP has a built * in method to do the same for writing to files (fputcsv()) but many times * going right to the client is beneficial * * @author Jon Gales */ class CSV_Writer public $data = array(); public $deliminator; /** * Loads data and optionally a deliminator Data is assumed to be an array * of associative arrays * * @param array $data * @param string $deliminator */ function __construct($data $deliminator = " ") if (!is_array($data)) throw new Exception( CSV_Writer only accepts data as arrays ); $this >data = $data; $this >deliminator = $deliminator; private function wrap_with_quotes($data) $data = preg_replace( /"( +)"/ ""$ "" $data); return sprintf( "%s" $data); /** * Echos the escaped CSV file with chosen delimeter * * @return void */ public function output() foreach ($this >data as $row) $quoted_data = array_map(array( CSV_Writer wrap_with_quotes ) $row); echo sprintf("%s/n" implode($this >deliminator $quoted_data)); /** * Sets proper Content Type header and attachment for the CSV outpu * * @param string $name * @return void */ public function headers($name) header( Content Type: application/csv ); header("Content disposition: attachment; filename=$name csv"); /* //$data = array(array("one" "o" "three") array( )); $data[] = array("one" "o" "three"); $data[] = array( ); $csv = new CSV_Writer($data); $csv >headers( test ); $csv >output(); */

   使用excel类

复制代码 代码如下: <?php require_once Spreadsheet/Writer php ; $workbook = new Spreadsheet_Excel_Writer(); /* 生成 CSV $filename = date( YmdHis ) csv ; $workbook >send($filename); // 发送 Excel 文件名供下载 */ // 生成 Excel $filename = date( YmdHis ) xls ; $workbook >send($filename); // 发送 Excel 文件名供下载 $workbook >setVersion( ); $workbook >setBIFF InputEncoding( UTF ); $worksheet =& $workbook >addWorksheet("Sheet "); $data[]= array( id username pany email mob daytime intent ); $data[] = array( 老梁 **工作室 jb net * time() y ); $total_row = count($data); $total_col = count($data[ ]); for ($row = ; $row < $total_row; $row ++) for ($col = ; $col < $total_col; $col ++) $worksheet >writeString($row $col $data[$row][$col]); // 在 sheet 中写入数据 /* $worksheet =& $workbook >addWorksheet("Sheet "); $data[]= array( id username pany email mob daytime intent ); $data[] = array( 老梁 **工作室 jb net * time() y ); $total_row = count($data); $total_col = count($data[ ]); for ($row = ; $row < $total_row; $row ++) for ($col = ; $col < $total_col; $col ++) $worksheet >writeString($row $col $data[$row][$col]); // 在 sheet 中写入数据 */ $workbook >close(); // 完成下载 ?>

   类二 函数说明 读取Excel文件 function Read_Excel_File($ExcelFile $Result) $ExcelFile Excel文件名 $Result 返回的结果 函数返回值 正常返回 否则返回错误信息 返回的值数组 $result[sheet名][行][列] 的值为相应Excel Cell的值 建立Excel文件 function Create_Excel_File($ExcelFile $Data) $ExcelFile Excel文件名 $Data Excel表格数据 请把函数写在PHP脚本的开头 例

复制代码 代码如下: <? require "excel_class php"; Read_Excel_File("Book xls" $return); for ($i= ;$i<count($return[Sheet ]);$i++) for ($j= ;$j<count($return[Sheet ][$i]);$j++) echo $return[Sheet ][$i][$j] "|"; echo "<br>"; ?> 复制代码 代码如下: <? require "excel_class php"; Read_Excel_File("Book xls" $return); Create_Excel_File("ddd xls" $return[Sheet ]); ?> cha138/Article/program/PHP/201311/21008

相关参考

知识大全 基于php中使用excel的简单介绍

我目前使用的是phpexcel版本解压缩后里面有一个PHPExcel和PHPExcelphp文件我们主要使用那个PHP文件见下图文件目录结构   在工作中需要处理多语言的翻译问题翻译都是写在

知识大全 基于php使用memcache存储session的详解

  web服务器的phpsession都给memcached这样你不管分发器把ip连接分给哪个web服务器都不会有问题了配置方法很简单就在php的配置文件内增加一条语句就可以了不过前提你需要装好mem

知识大全 利用剪贴板实现高速导出数据到Excel

利用剪贴板实现高速导出数据到Excel  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在很多的时

知识大全 .NET导出Gridview到excel 带模板列显示

.NET导出Gridview到excel带模板列显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET导出数据到Excel的实现方法

ASP.NET导出数据到Excel的实现方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在做as

知识大全 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中

利用SQL*Loader将Excel数据导出到Oracle数据库中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 ListView中的内容以Excel导出

ListView中的内容以Excel导出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <

知识大全 C#中导入导出Excel的操作

C#中导入导出Excel的操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!///<summ

知识大全 js导出格式化的excel 实例方法

最常见的方式是使用js函数操作excle文件这种方式可能因浏览器不同存在兼容性问题另一种简单方法就是导出一个excel能识别格式的xml文件用excel打开 复制代码代码如下:functio

知识大全 asp.net导出Excel方法总结

asp.net导出Excel方法总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n