加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP导入导出Excel文件的办法

发布时间:2022-01-19 10:21:12 所属栏目:PHP教程 来源:互联网
导读:下面我来给大家介绍在php中操作excel两个实例,一个是利用PHP-ExcelReader导入excel并输出,另一种是直接输入excel并导出,下面看实例。 借助PHP-ExcelReader这个开源类,我们可以轻松地导入Excel文件数据,示例代码如下: PHP-ExcelReader下载地址:http://sou
  下面我来给大家介绍在php中操作excel两个实例,一个是利用PHP-ExcelReader导入excel并输出,另一种是直接输入excel并导出,下面看实例。
 
  借助PHP-ExcelReader这个开源类,我们可以轻松地导入Excel文件数据,示例代码如下:
 
  PHP-ExcelReader下载地址:http://sourceforge.net/projects/phpexcelreader/
 
  <?php  
  require_once 'Excel/reader.php';  
  $data = new Spreadsheet_Excel_Reader();  
  $data->setOutputEncoding('gbk');  
  $data->read('test.xls');  
  for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {  
      for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {  
          echo """.$data->sheets[0]['cells'][$i][$j]."",";  
      }  
      echo "n";  
  }  
  ?>
  例.phpexcel导到excel,1.test.php,代码如下:
 
  require_once 'reader.php';
  // ExcelFile($filename, $encoding);
  $data = new Spreadsheet_Excel_Reader();
  // Set output Encoding.
  $data->setOutputEncoding('gbk');
  //”data.xls”是指要导入到mysql中的excel文件
  $data->read('data.xls');
  @ $db = mysql_connect('localhost', 'root', '123456') or  
         die("Could not connect to database.");//连接数据库
  mysql_query("set names 'gbk'");//输出中文
  mysql_select_db('mydb');       //选择数据库
  error_reporting(E_ALL ^ E_NOTICE);
  for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
  //以下注释的for循环打印excel表数据
  /*
  for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
              echo """.$data->sheets[0]['cells'][$i][$j]."",";
             }
             echo "n";  
  //PHP开源代码
  
  */
  //以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
      $sql = "INSERT INTO test VALUES('".
                 $data->sheets[0]['cells'][$i][1]."','".
                   $data->sheets[0]['cells'][$i][2]."','".
                   $data->sheets[0]['cells'][$i][3]."')";
      echo $sql.'
  ';
         $res = mysql_query($sql);
  }
  ?>
  例.导出excel文件
 
  比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需要用那些类库什么的了,直接用header的方式就可以了:header("Content-type:application/vnd.ms-excel");
 
  看看如下代码如下:
 
  <?php  
  header("Content-type:application/vnd.ms-excel");  
  header("Content-Disposition:attachment;filename=Export_test.xls");  
  $tab="t"; $br="n";
  $head="编号".$tab."备注".$br;
  //输出内容如下:   
  echo $head.$br;
  echo  "test321318312".$tab;   
  echo  "string1";  
  echo  $br;
  echo  "330181199006061234".$tab;  //直接输出会被Excel识别为数字类型
  echo  "number";  
  echo  $br;
  echo  "="330181199006061234"".$tab;  //原样输出需要处理
  echo  "string2";  
  echo  $br;
  ?>
  在导出后会发现一个问题,如果数据是数字会出现一些意想不到的情况,比如,"012345",在excel中会变成"12345";如果输入身份证号码这样的长数字,在excel中会用科学计数法表示出来,并且最后的四位数字会出现偏差,变位0000等情况,这就需要把单元格设置为文本格式,方法是
 
  echo "="330181199006061234""如果程序是utf-8编码的,还需要用iconv函数去转码,不然是会乱码的,乱码的。
 
  另word格式导入类似,指定header就可以了,代码如下:
 
  header("Content-Type:   application/msword");         
  header("Content-Disposition:attachment;filename=doc.doc"); 

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读