zl程序教程

您现在的位置是:首页 >  后端

当前栏目

phpexcel导入导出(轻量) 淘宝导入

导入导出 淘宝 轻量 PHPExcel
2023-09-14 08:59:47 时间

excel单元格数字变成字符串方法 1001010002400000,数值前加单引号

当excel文件中的数据设置过,导入的数据和excel显示的不同,单个修改数据个单元格格式又很麻烦,这时把excel另存为csv格式即可,用文本方式打开看数据

导入$data- sheets

使用PHP-ExcelReader,下载地址: http://sourceforge.net/projects/phpexcelreader


//$data_header_var = array(1= $incrementId,2= $price);   function Excel2Db($fileName, $data_header_var=array()){       require_once Excel/reader.php;       $data = new Spreadsheet_Excel_Reader();       $data- setOutputEncoding(utf-8); //gbk       $data- read($fileName);              $numRows = $data- sheets["0"][numRows];       for ($i = 2; $i  = $numRows; $i++) {           foreach ($data_header_var as $j =  $var){               eval($var.= $data- sheets["0"]["cells"][$i][$j];);           }           //save2Db       }   /*$data2 = $data- sheets["0"]["cells"];  unset($data2[1]);  foreach ($data2 as $i=  $v) {      foreach ($data_header_var as $j =  $var){          eval($var.= $v[$j];);                   }*/          function Excel2Array($fileName, $data_header_var=array()){       require_once Excel/reader.php;       $data = new Spreadsheet_Excel_Reader();       $data- setOutputEncoding(utf-8); //gbk       $data- read($fileName);       $dataRows = $lineData = array();       $numRows = $data- sheets["0"][numRows];       for ($i = 2; $i  = $numRows; $i++) {           foreach ($data_header_var as $j =  $var){               $lineData[$var] = $data- sheets["0"]["cells"][$i][$j];           }           $dataRows[] = $lineData;       }       return $dataRows;  
    var $inEncode  = "utf-8"; //一般是页面编码       var $outEncode = "utf-8"; //一般是Excel文件的编码       var $content   = ;              /**      *设置编码      */       public function setEncode($incode, $outcode){           $this- inEncode  = $incode;           $this- outEncode = $outcode;       }       /**      *设置Excel的行记录      */       public function setRow($lineData){           $title = "";           foreach($lineData as $v){               if($this- inEncode != $this- outEncode){                   $title .= iconv($this- inEncode,$this- outEncode,$v)."\t";               }else{                   $title .= $v."\t";               }           }           $title .= "\n";           return $title;       }       /**      *设置Excel内容      */       public function setRows($array){           $content = "";           foreach($array as $k =  $v){               $content .= $this- setRow($v);           }           return $content;       }       /**      *生成并自动下载Excel      * $titleData 标题栏数组       * $array 内容数组      * $filename 文件名称 (为空,已当前日期为名称)      */       public function getExcel($titleData, $array, $filename = ){           if($filename==){               $filename = date("Y-m-d");           }           $title   = $this- setRow($titleData);           $content = $this- setRows($array);           header("Content-type:application/vnd.ms-excel");           header("Content-Disposition:filename=".$filename.".xls");           echo $title;           echo $content;       }  
    rewind($handle);       if ($bom === chr(0xff) . chr(0xfe) || $bom === chr(0xfe) . chr(0xff)) {           // UTF16 Byte Order Mark present           $encoding = UTF-16;       } else {           $file_sample = fread($handle, 1000) + e; //read first 1000 bytes           rewind($handle);           $encoding = mb_detect_encoding($file_sample, UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP);       }       if ($encoding) {           stream_filter_append($handle, convert.iconv. . $encoding . /UTF-8);       }       return ($handle);   //得到csv data   public function getCsvFileData($filename)       $handle = Helper::fopen_utf8($filename, "r");              $csvData = array();       for ($j = 1; !feof($handle); $j++) {           $line = fgets($handle);           $val = explode("\t", $line);           if ($j   1) {               $line = array(                   title =  $val[0],                   //cate =  $val[1],                   price =  $val[2], //价格                   inventory =  trim($val [3]), //数量                   descript =  trim($val [4]), //描述                   import_images =  trim($val[5]), //图片                   sku =  trim($val[6]), //商家编码                   weight =  trim($val[7]), //重量               );               $csvData[] = $line;           }       }       return $csvData;   //校验数据   public function checkProductImportData($adminId, $csvData)       $checkArray = array();       foreach ($csvData as $product) {           $checkArray[] = $product[sku];       }       $list = db中的sku列表在文件sku中的       $result = array(status =  10000, msg =  );       if (count($list) == count($checkArray)) {           $result[status] = 2;           $result[msg] = 文件里的商品已经导入过;       } elseif (count($list)   0) {           $dbhasskulist = array();           $alllist = self::model()- findAllSkuFromDb();           foreach ($alllist as $info) {               if ($info- sku   in_array($info- sku, $checkArray)) {                   $dbhasskulist[] = $info-                }           }           $result[status] = 1;           $result[msg] = "商品货号重复:" . implode(",", array_unique($dbhasskulist));       }       return $result;  
Postcat 插件上线,支持 ApiPost 格式导入 最近我们的插件广场上线了一款由我们的社区共建者开发的 ApiPost 插件,安装即可支持导入 ApiPost 格式的数据,操作方法也很简单呢。
如何开发一个导入/导出插件 在开发过程中,或多或少都会遇到数据格式转换的问题,如果只是简单的数据,那自然用什么方式都可以,如果遇到数据非常多、层级复杂、关联性强的数据,则需要摸索出一套合适的方法,本文会介绍两种比较可行的转换模型,他们各自适合不同的场景和喜好。
【C#附源码】数据库文档生成工具支持(Excel+Htm) 数据库文档生成工具是用C#开发的基于NPOI组件的小工具。软件源码大小不到10MB。支持生成Excel 和Html 两种文档形式。了解更多,请访问:http://www.oschina.net/code/snippet_584165_50417  15年的时候,分享了一个小工具(http://www.oschina.net/code/snippet_584165_50417)。