1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
<?php die(); require_once '../PHPExcel_1.8.0/Classes/PHPExcel.php';
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
require 'rb-mysql.php'; R::setup('mysql:host=192.168.171.21;dbname=dev_innout', 'dev_innout', '9ETms3@'); R::ext('xdispense', function( $type ){ return R::getRedBean()->dispense( $type ); }); R::freeze(true);
function format($val) { $val = str_replace("'",".",$val); $val = str_replace('"',"",$val); if (substr($val, -1) == ".") { $val = substr($val, 0, -1); } return $val; }
function formatSize($ref, $val) { $val = str_replace('*',' x ',$val); if (strpos($ref, '服裝倉') !== false) { return $val . "(服裝倉)"; } else if (strpos($ref, '半格倉') !== false) { return $val . "(半格倉)"; } else { return $val; } }
function formatType($ref) { if (strpos($ref, '服裝倉') !== false) { return "CLOTH"; } else { return "NORMAL"; } }
function formatCode($val) { $val = str_replace("服裝倉","",$val); $val = str_replace("半格倉","",$val); return trim($val); }
// adjust $file = 'room3.xlsx'; $loc_id = 21;
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load($file); $objWorksheet = $objPHPExcel->getActiveSheet();
$highestRow = $objWorksheet->getHighestRow(); $highestColumn = $objWorksheet->getHighestColumn(); $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $rows = array(); $exist = array(); $mroom = array(); $id = "";
for ($row = 1; $row <= $highestRow; ++$row) { for ($col = 0; $col <= $highestColumnIndex; ++$col) { $rows[$col] = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue(); } $rows[2] = format($rows[2]); $rows[3] = format($rows[3]); $rows[4] = format($rows[4]); $rows[5] = formatSize($rows[1], $rows[5]); $rows[7] = formatType($rows[1]); $rows[1] = formatCode($rows[1]); $rows[6] = round($rows[2] * $rows[3]); if (!in_array($rows[5], $exist)) { $mr = R::xdispense('master_room'); $mr->deleted = 0; $mr->location_id = $loc_id; $mr->status = 1; $mr->is_onlinesales = 0; $mr->length = $rows[2]; $mr->width = $rows[3]; $mr->height = $rows[4]; $mr->remain_room = 0; $mr->total_room = $rows[6]; $mr->has_discounted_price = 0; $mr->display_size = $rows[5]; $mr->type = $rows[7]; $id = R::store($mr); $exist[] = $rows[5]; $mroom[$rows[5]] = $id; $mrp = R::xdispense('master_room_price'); $mrp->deleted = 0; $mrp->location_id = $loc_id; $mrp->master_room_id = $id; $mrp->retail_price = 1; $mrp->discounted_price = 1; R::store($mrp); }
$r = R::dispense('room'); $r->deleted = 0; $r->location_id = $loc_id; $r->master_room_id = $mroom[$rows[5]]; $r->status = "OPEN"; $r->code = $rows[1]; $r->typeid = "STORAGE"; $r->zone = $rows[0]; R::store($r); }
|