違法な表現がある、スクリーンショットしか撮れないと投稿してください
1 varchar 型を使用して保存できるため、number_format は必要ありません。
2. var_dump(); 変更があるかどうかを確認してください。
1 varchar 型を使用して保存できるため、number_format は必要ありません。
2. var_dump(); 変更があるかどうかを確認してください。
コード分析用
include 'Plugin/PHPExcel/Classes/PHPExcel/IOFactory.php';$excel = PHPExcel_IOFactory::load('2.xls');$sheet = $excel->getActiveSheet();echo $sheet->getCell('A1')->getValue(), ' ', $sheet->getCell('A2')->getValue();5.9335552883783E+14 41728.732916667
まずは時間の問題を解決しましょう
読み出される時間は日数です
Excel の日付は 1900-01-01 から計算されます (php は 1970-01-01 から計算されます) )
2 つの間には日数があります その差は 25569 です
時刻はグリニッジ標準時です
ということで
$d = 25569;$t = 24 * 60 * 60;echo gmdate('Y-m-d H:i:s', (41728.732916667 - $d) * $t);2014-03-30 17:35:24
科学表記法の問題を解決します
echo $sheet- >getCell('A1')->getValue() ; //5.9335552883783E+14
echo $sheet->getCell('A1')->getFormattedValue(); //593355528837832
に変更します。これは日付には適していません
echo $sheet->getCell ('A2')->getFormattedValue();
3/30/14 17:35 を取得しました
まだ満足のいくものではありません
科学表記法の問題を解決してください
echo $sheet->getCell('A1')- >getValue(); //5.9335552883783E+14
echo $sheet->getCell('A1')->getFormattedValue(); に変更します。 /593355528837832
でも、これは日付には良くありません
echo $sheet->getCell('A2')->getFormattedValue();
3/30/14 17:35 を取得
まだ少し満足できません
時刻わかりました、科学的表記法は他にありますか?
getFormattedValueはExcelで見られる書式付きデータを読み込むものです
593355528837832自体はExcelでは5.9335552883783E+14と表示されます
593355528837832として表示したい場合はセルの書式を設定します
Excel ソリューションを使用して句読点を追加してみてくださいデジタル署名を指しますね?
getFormattedValue?ほかに何か?
getFormattedValueはExcelで見られる書式付きデータを読み込むものです
593355528837832自体はExcelでは5.9335552883783E+14と表示されます
593355528837832として表示したい場合はセルの書式を設定します
うーん、私のコードはそうではないようですgetFormattedValue(); を使用できます
16 行目の getValue() を getFormattedValue() に置き換えます
16 行目を getFormattedValue() に変更しましたが、応答がありません
Excel ファイルに関連している可能性があります
まさか、私の Excel はこんな感じです
你可以把你的 xls 文件放到云盘上,只要几行就可以了
你可以把你的 xls 文件放到云盘上,只要几行就可以了
$excel = PHPExcel_IOFactory::load('test.xls');$sheet = $excel->getActiveSheet();$w = $sheet->getHighestColumn(); //取得最大的列号$h = $sheet->getHighestRow(); //取得一共有多少行for($x='A'; $x!=$w; $x++) { $t = array(); for($y=1; $y<=$h; $y++) { if($y == 1) $t['h'] = $sheet->getCell("$x$y")->getValue(); elseif(in_array($x, array('R', 'S'))) { $d = $sheet->getCell("$x$y")->getValue(); $t['d'][] = $d ? gmdate('Y-m-d H:i:s', ($d - 25569) * 86400) : ''; }else $t['d'][] = $sheet->getCell("$x$y")->getFormattedValue(); } $res[$x] = $t;}
Array( [A] => Array ( [h] => 订单编号 [d] => Array ( [0] => 593355528837832 [1] => 593051520633446 [2] => 592333520554850 [3] => 592198001144245 [4] => 592045929493597 ) ) [B] => Array ( [h] => 买家会员名 [d] => Array ( [0] => wangfeilixin123 [1] => 解玲9992 [2] => 蒋小丫0415 [3] => 吖呵呵18 [4] => 雄19910105 ) ) [C] => Array ( [h] => 买家支付宝账号 [d] => Array ( [0] => szxszglc@163.com [1] => 15956089992 [2] => 13357122950 [3] => 15147596696 [4] => 18850173553 ) ) [D] => Array ( [h] => 买家应付货款 [d] => Array ( [0] => 296 [1] => 159 [2] => 131.4 [3] => 168 [4] => 131.4 ) ) [E] => Array ( [h] => 买家应付邮费 [d] => Array ( [0] => 12 [1] => 0 [2] => 0 [3] => 0 [4] => 0 ) ) [F] => Array ( [h] => 买家支付积分 [d] => Array ( [0] => 0 [1] => 49 [2] => 0 [3] => 0 [4] => 0 ) ) [G] => Array ( [h] => 总金额 [d] => Array ( [0] => 308 [1] => 159 [2] => 131.4 [3] => 168 [4] => 131.4 ) ) [H] => Array ( [h] => 返点积分 [d] => Array ( [0] => 0 [1] => 79 [2] => 65 [3] => 84 [4] => 65 ) ) [I] => Array ( [h] => 买家实际支付金额 [d] => Array ( [0] => 0 [1] => 159 [2] => 131.4 [3] => 168 [4] => 131.4 ) ) [J] => Array ( [h] => 买家实际支付积分 [d] => Array ( [0] => 0 [1] => 49 [2] => 0 [3] => 0 [4] => 0 ) ) [K] => Array ( [h] => 订单状态 [d] => Array ( [0] => 交易关闭 [1] => 交易成功 [2] => 交易成功 [3] => 交易成功 [4] => 交易成功 ) ) [L] => Array ( [h] => 买家留言 [d] => Array ( [0] => [1] => [2] => [3] => 申通就可以哦 要金色的链子 [4] => ) ) [M] => Array ( [h] => 收货人姓名 [d] => Array ( [0] => 王飞 [1] => 解玲 [2] => 张勇 [3] => 姜宁 [4] => 许小云 ) ) [N] => Array ( [h] => 收货地址 [d] => Array ( [0] => 辽宁省 葫芦岛市 绥中县 肖家菜市场东门王艳海鲜行(125200) [1] => 安徽省 滁州市 天长市 恒福花苑6号楼一单元602(239300) [2] => 浙江省 舟山市 普陀区 东港京汇广场5号楼丁哥黑鱼馆(316100) [3] => 内蒙古自治区 通辽市 开鲁县 开鲁镇邮局(028400) [4] => 天津 天津市 滨海新区 滨海新区大港学苑路600号天津国土资源和房屋职业学院(300270) ) ) [O] => Array ( [h] => 运送方式 [d] => Array ( [0] => 快递 [1] => 快递 [2] => 快递 [3] => 快递 [4] => 快递 ) ) [P] => Array ( [h] => 联系电话 [d] => Array ( [0] => [1] => [2] => [3] => [4] => ) ) [Q] => Array ( [h] => 联系手机 [d] => Array ( [0] => 18204296511 [1] => 15956089992 [2] => 15906805620 [3] => 15147596696 [4] => 13321300935 ) ) [R] => Array ( [h] => 订单创建时间 [d] => Array ( [0] => 2014-03-30 17:35:24 [1] => 2014-03-30 14:12:14 [2] => 2014-03-29 22:09:29 [3] => 2014-03-29 20:52:17 [4] => 2014-03-29 19:13:12 ) ) [S] => Array ( [h] => 订单付款时间 [d] => Array ( [0] => [1] => 2014-03-30 14:12:21 [2] => 2014-03-29 22:09:36 [3] => 2014-03-29 22:45:39 [4] => 2014-03-29 21:14:35 ) ) [T] => Array ( [h] => 宝贝标题 [d] => Array ( [0] => [1] => 易? 天然和田白玉吊坠 龙 时尚男士吊坠纯银项链挂坠男 龙飞凤舞 [2] => 情侣吊坠玉坠纯银项链一对 生日礼物 男女款 心心相印金镶玉吊坠 [3] => 送男友生日礼物 天然黑曜石镶金龙吊坠 男士纯银项链龙挂坠项坠 [4] => 情侣吊坠玉坠纯银项链一对 生日礼物 男女款 心心相印金镶玉吊坠 ) ) [U] => Array ( [h] => 宝贝种类 [d] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 1 ) ) [V] => Array ( [h] => 物流单号 [d] => Array ( [0] => [1] => No:768333728128 [2] => No:768333728127 [3] => No:868031587631 [4] => No:768333728126 ) ) [W] => Array ( [h] => 物流公司 [d] => Array ( [0] => [1] => 申通E物流 [2] => 申通E物流 [3] => 申通E物流 [4] => 申通E物流 ) ) [X] => Array ( [h] => 订单备注 [d] => Array ( [0] => [1] => [2] => 【土豆】 [3] => 【土豆】刻字:姜松 金色链子 大概4月1号发货 不能有价格在里面 代写贺卡:亲爱的哥哥: 亲爱的哥哥加我最爱的哥哥 这是我送你的第一份礼物 也是最珍贵的一份礼物 我知道你一直想要一个吊坠 现在我没有钱给你买好的 只能买我的能力范围内的 不要给我乱花钱 也不要感动哦 做妹妹的只能以自己的方式爱你 虽然争吵不断 但这就是别人无法代替的亲情 将来的事情我们预料不到 但我一直坚信一点 你是我亲哥哥 我们之间的感情谁都破坏不掉 哥哥 我爱你 [4] => 【土豆】金链子,写贺卡,内容关于生日的就可以,希望3月5号收到货 包装好点 ) ) [Y] => Array ( [h] => 宝贝总数量 [d] => Array ( [0] => 0 [1] => 1 [2] => 1 [3] => 1 [4] => 1 ) ) [Z] => Array ( [h] => 店铺Id [d] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 ) ) [AA] => Array ( [h] => 店铺名称 [d] => Array ( [0] => [1] => [2] => [3] => [4] => ) ) [AB] => Array ( [h] => 订单关闭原因 [d] => Array ( [0] => 买家未付款 [1] => 订单未关闭 [2] => 订单未关闭 [3] => 订单未关闭 [4] => 订单未关闭 ) ) [AC] => Array ( [h] => 卖家服务费
你能不能弄成一个数组 保存一行的
$excel = PHPExcel_IOFactory::load('test.xls');$sheet = $excel->getActiveSheet();$w = $sheet->getHighestColumn(); //取得最大的列号$h = $sheet->getHighestRow(); //取得一共有多少行//列与字段对照表$dict = array( 'A' => 'order_number', 'B' => 'member_name', 'C' => 'member_alipay', 'D' => 'member_payment', 'E' => 'member_postage', 'F' => 'membe_integral', 'G' => 'aggregate_amount', 'H' => 'rebate_integral', 'I' => 'member_actual_payments', 'J' => 'member_actual_integral', 'K' => 'order_status', 'L' => 'member_message', 'M' => 'consignee_name', 'N' => 'consignee_address', 'O' => 'Shipping_method', 'P' => 'telephone_number', 'Q' => 'mobile_phone', 'R' => 'create_time', 'S' => 'payment_time', 'T' => 'baby_title', 'U' => 'baby_species', 'V' => 'logistics_number', 'W' => 'logistics_company', 'X' => 'order_remarks', 'Y' => 'boby_number', 'Z' => 'shop_id', 'AA' => 'shop_name', 'AB' => 'order_closure', 'AC' => 'seller_service_fee', 'AD' => 'buyers_service_fee', 'AE' => 'commercial_invoice', 'AF' => 'phone_orders', 'AG' => 'Phase_order_information', 'AH' => 'deposit_ranking', 'AI' => 'modified_sku', 'AJ' => 'modified_orders_address', 'AK' => 'error_info',);$w++; //最大的列号加一for($y=2; $y<=$h; $y++) { //按行读取 $t = array(); for($x='A'; $x!=$w; $x++) { if($y == 1) $t[$dict[$x]] = $sheet->getCell("$x$y")->getValue(); elseif(in_array($x, array('R', 'S'))) { $d = $sheet->getCell("$x$y")->getValue(); $t[$dict[$x]] = $d ? gmdate('Y-m-d H:i:s', ($d - 25569) * 86400) : ''; }else $t[$dict[$x]] = $sheet->getCell("$x$y")->getFormattedValue(); } print_r($t); //这里可做入库操作}都是这样的格式
Array( [order_number] => 593355528837832 [member_name] => wangfeilixin123 [member_alipay] => szxszglc@163.com [member_payment] => 296 [member_postage] => 12 [membe_integral] => 0 [aggregate_amount] => 308 [rebate_integral] => 0 [member_actual_payments] => 0 [member_actual_integral] => 0 [order_status] => 交易关闭 [member_message] => [consignee_name] => 王飞 [consignee_address] => 辽宁省 葫芦岛市 绥中县 肖家菜市场东门王艳海鲜行(125200) [Shipping_method] => 快递 [telephone_number] => [mobile_phone] => 18204296511 [create_time] => 2014-03-30 17:35:24 [payment_time] => [baby_title] => [baby_species] => 0 [logistics_number] => [logistics_company] => [order_remarks] => [boby_number] => 0 [shop_id] => 0 [shop_name] => [order_closure] => 买家未付款 [seller_service_fee] => 0 [buyers_service_fee] => 0元 [commercial_invoice]&