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

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

导入$data->sheets

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

Java代码  
  1. <?php
  2. //$data_header_var = array(1=>'$incrementId',2=>'$price');
  3. function Excel2Db($fileName, $data_header_var=array()){
  4. require_once 'Excel/reader.php';
  5. $data = new Spreadsheet_Excel_Reader();
  6. $data->setOutputEncoding('utf-8'); //gbk
  7. $data->read($fileName);
  8. $numRows = $data->sheets["0"]['numRows'];
  9. for ($i = 2; $i <= $numRows; $i++) {
  10. foreach ($data_header_var as $j => $var){
  11. eval($var.'= $data->sheets["0"]["cells"][$i][$j];');
  12. }
  13. //save2Db
  14. }
  15. }
  16. /*$data2 = $data->sheets["0"]["cells"];
  17. unset($data2['1']);
  18. foreach ($data2 as $i=> $v) {
  19. foreach ($data_header_var as $j => $var){
  20. eval($var.'= $v[$j];');
  21. }*/
  22. function Excel2Array($fileName, $data_header_var=array()){
  23. require_once 'Excel/reader.php';
  24. $data = new Spreadsheet_Excel_Reader();
  25. $data->setOutputEncoding('utf-8'); //gbk
  26. $data->read($fileName);
  27. $dataRows = $lineData = array();
  28. $numRows = $data->sheets["0"]['numRows'];
  29. for ($i = 2; $i <= $numRows; $i++) {
  30. foreach ($data_header_var as $j => $var){
  31. $lineData[$var] = $data->sheets["0"]["cells"][$i][$j];
  32. }
  33. $dataRows[] = $lineData;
  34. }
  35. return $dataRows;
  36. }
导出

Java代码  
  1. <?php
  2. /*$excel = new Excel();
  3. //$excel->setEncode("utf-8","gb2312"); //设置编码
  4. $titleData = array("name","price","content","total");//设置标题栏
  5. $data      = array(
  6. array("ab","ac","ad","ae"),
  7. array("abc","acc","adc","aec"),
  8. array("abd","acd","add","aed"),
  9. 't'=>array("abe","ace","ade","aee"),
  10. );
  11. $excel->getExcel($titleData, $data, "demo");
  12. */
  13. class Excel {
  14. var $inEncode  = "utf-8"; //一般是页面编码
  15. var $outEncode = "utf-8"; //一般是Excel文件的编码
  16. var $content   = '';
  17. /**
  18. *设置编码
  19. */
  20. public function setEncode($incode, $outcode){
  21. $this->inEncode  = $incode;
  22. $this->outEncode = $outcode;
  23. }
  24. /**
  25. *设置Excel的行记录
  26. */
  27. public function setRow($lineData){
  28. $title = "";
  29. foreach($lineData as $v){
  30. if($this->inEncode != $this->outEncode){
  31. $title .= iconv($this->inEncode,$this->outEncode,$v)."\t";
  32. }else{
  33. $title .= $v."\t";
  34. }
  35. }
  36. $title .= "\n";
  37. return $title;
  38. }
  39. /**
  40. *设置Excel内容
  41. */
  42. public function setRows($array){
  43. $content = "";
  44. foreach($array as $k => $v){
  45. $content .= $this->setRow($v);
  46. }
  47. return $content;
  48. }
  49. /**
  50. *生成并自动下载Excel
  51. * $titleData 标题栏数组
  52. * $array 内容数组
  53. * $filename 文件名称 (为空,已当前日期为名称)
  54. */
  55. public function getExcel($titleData, $array, $filename = ''){
  56. if($filename==''){
  57. $filename = date("Y-m-d");
  58. }
  59. $title   = $this->setRow($titleData);
  60. $content = $this->setRows($array);
  61. header("Content-type:application/vnd.ms-excel");
  62. header("Content-Disposition:filename=".$filename.".xls");
  63. echo $title;
  64. echo $content;
  65. }
  66. }

php读取淘宝数据包csv文件  unicode

Java代码  
  1. public static function fopen_utf8($filename)
  2. {
  3. $encoding = '';
  4. $handle = fopen($filename, 'r');
  5. $bom = fread($handle, 2);
  6. rewind($handle);
  7. if ($bom === chr(0xff) . chr(0xfe) || $bom === chr(0xfe) . chr(0xff)) {
  8. // UTF16 Byte Order Mark present
  9. $encoding = 'UTF-16';
  10. } else {
  11. $file_sample = fread($handle, 1000) + 'e'; //read first 1000 bytes
  12. rewind($handle);
  13. $encoding = mb_detect_encoding($file_sample, 'UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP');
  14. }
  15. if ($encoding) {
  16. stream_filter_append($handle, 'convert.iconv.' . $encoding . '/UTF-8');
  17. }
  18. return ($handle);
  19. }
  20. //得到csv data
  21. public function getCsvFileData($filename)
  22. {
  23. $handle = Helper::fopen_utf8($filename, "r");
  24. $csvData = array();
  25. for ($j = 1; !feof($handle); $j++) {
  26. $line = fgets($handle);
  27. $val = explode("\t", $line);
  28. if ($j > 1) {
  29. $line = array(
  30. 'title' => $val[0],
  31. //'cate' => $val[1],
  32. 'price' => $val[2], //价格
  33. 'inventory' => trim($val [3]), //数量
  34. 'descript' => trim($val [4]), //描述
  35. 'import_images' => trim($val[5]), //图片
  36. 'sku' => trim($val[6]), //商家编码
  37. 'weight' => trim($val[7]), //重量
  38. );
  39. $csvData[] = $line;
  40. }
  41. }
  42. return $csvData;
  43. }
  44. //校验数据
  45. public function checkProductImportData($adminId, $csvData)
  46. {
  47. $checkArray = array();
  48. foreach ($csvData as $product) {
  49. $checkArray[] = $product['sku'];
  50. }
  51. $list = 'db中的sku列表在文件sku中的'
  52. $result = array('status' => 10000, 'msg' => '');
  53. if (count($list) == count($checkArray)) {
  54. $result['status'] = 2;
  55. $result['msg'] = '文件里的商品已经导入过';
  56. } elseif (count($list) > 0) {
  57. $dbhasskulist = array();
  58. $alllist = self::model()->findAllSkuFromDb();
  59. foreach ($alllist as $info) {
  60. if ($info->sku && in_array($info->sku, $checkArray)) {
  61. $dbhasskulist[] = $info->sku;
  62. }
  63. }
  64. $result['status'] = 1;
  65. $result['msg'] = "商品货号重复:" . implode(",", array_unique($dbhasskulist));
  66. }
  67. return $result;
  68. }

phpexcel导入导出(轻量) 淘宝导入相关推荐

  1. 第三方平台生成的CSV,如何导入上传到淘宝店铺

    问题1:"我的需求是这样的,我是第三方平台,客户在我平台设计了商品,然后下载数据生成了CSV文件,再由CSV文件导入上传到淘宝" "我用的*手工具箱去抓取的拼多多商品,然 ...

  2. 数据库oracle数据导入导出命令,数据库oracle数据导入导出命令

    exp Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成 ...

  3. mysql数据泵导入导出_ORACLE使用数据泵导入导出部分表

    1.导出名字为A的表(这里会导出SEQUENCES及FUNCTION等内容) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY ...

  4. 教你怎么淘宝导入快递单号批量发货

    DUMUZ是什么? Dumuz是一款软件产品,可模拟人在电脑上的不同系统之间操作行为, 替代人在电脑前执行具有规律与重复性高的办公流程. 目前基于实际业务场景在软件搭建了部分天猫/淘宝/京东网页数据 ...

  5. Elasticsearch 导入导出全量数据

    本文简单介绍了 如何 导入导出 ES 全量数据,暂时不包含导入导出 ES 单表数据. 工具官网:elasticsearch-dump 全量数据 导出 确保有备份工具[见附录-1 下载备份工具] 确保o ...

  6. mysql命令导入导出数据_mysql命令行导入和导出数据

    MySQL中导出CSV格式数据的SQL语句样本如下: select * from test_info into outfile '/tmp/test.csv' fields terminated by ...

  7. excel winform 导入 导出_强大的 Excel 导入导出工具 hutool

    " 最近项目上需要用到 Excel 的导入导出功能,想着之前使用的都有点麻烦,所以结合多方资料,终于找到了这个还算不错的 Excel 处理工具,一起来看" 今日安利好物名为 Hut ...

  8. 5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出

     1固定集合 固定集合值得是事先创建而且大小固定的集合 2固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属 ...

  9. solr mysql增量导入_Solr全量与增量导入

    Solr Full Import全量导入 所谓全量索引一般指的是每次从数据库中读取需要导入的全部数据,然后提交到Solr Server,最后删除指定core的所有索引数据进行重建.全量导入一般在数据首 ...

最新文章

  1. 专转本计算机应用基础,江苏省专转本计算机应用基础模拟题
  2. 【哲学探讨】娱乐至死
  3. Python的运算符与表达式
  4. Django从理论到实战(part5)--创建我们的第一个应用
  5. scss里父选择器的标识符
  6. [Java基础]Date类基础
  7. 苹果手机更改照片大小kb_苹果手机照片视频删除了怎样恢复?专业人士建议你这样做...
  8. python 去掉字符串第一个字符_10 个 Python 字符串处理技巧
  9. Android.mk小结
  10. 李开复:垂直搜索违背了搜索引擎的发展初衷
  11. Python3中Dict不能在循环中删除元素
  12. 区块链+高薪,你还等什么?
  13. 微信小程序毕业设计 基于微信景区景点旅游攻略小程序系统开题报告
  14. NEMA-0183(GPGGA,GPRMC,GPGSA,GPGSV,GPVTG)详解
  15. Python数值和偏微分方程解
  16. [转载]关于CIPS不得不知道的14个要点
  17. How to Write and Publish a Scientific Paper: 7th Edition(科技论文写作与发表教程)
  18. 2019中国脑科学与神经调控技术发展高峰论坛
  19. JSon解析之JSonKit
  20. 《mysql是怎样运行的》读书笔记一

热门文章

  1. 八大排序(java版)
  2. DIEN——biji
  3. 怎么分析外链推广呢?
  4. Nodejs中的Buffer
  5. 极限编程(Extreme Programming)
  6. k8s pod 配置模板
  7. 机器视觉工业缺陷检测的那些事(二、相机)
  8. matlab中怎么找最接近的,在矩阵matlab中找到最接近的值
  9. 一个经典机器学习案例——良/恶性乳腺癌肿瘤预测
  10. img标签中alt和title的区别