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)。
相关文章
- Android开发之导入错误
- mysql 导入&导出sql文件
- Oracle数据库导入导出 imp/exp备份还原
- 【导入导出】普通用户时使用 full选项
- Web2.0网站的路径依赖--探讨蚂蚁社区为什么要导入博客
- Oracle 10g 到11g的数据迁移 导入导出 顺序步骤 expdp/impdp
- php 数据库导入导出类
- JAVA实现数据库数据导入/导出到Excel(POI)
- 【学习总结】SQL的学习-5-性能调优常用方法介绍与数据导入导出
- MFC Windows 程序设计[203]之偏好的导入与导出(附源码)
- SAP Spartacus由于导入module路径在服务器上不正确而导致的Travis build错误
- Sql Server 导入另一个数据库中的表数据
- Atitit java 原生 客户端 native desktop桌面 javafx 浏览器环境 导入jar jfxrt.jar 17M package com.attilax.ui;
- Flume数据导入ODPS方法
- linux导入导出kvm虚拟机配置——筑梦之路
- docker 导出镜像并压缩、解压并导入镜像
- [MEF]第02篇 MEF的导入导出契约
- Docker容器kali镜像导出/导入