function importToExistingTable($file, $tableName) { $data = new Spreadsheet_Excel_Reader($file); $colcount = $data->colcount(); $rowcount = $data->rowcount(); //This gets the field names in the database so that they can be confirmed as matching those in the spreadsheet: $sql = mysql_query("SELECT * FROM `{$tableName}`"); for ($no = 0; $no <= $colcount; $no++) { $tableColsArray[$no] = mysql_field_name($sql, $no); } //This goes through the spreadsheet and compares the columns with those in the database: for ($colno = 1; $colno <= $colcount; $colno++) { $cell = $data->value(1, $colno); if ($tableColsArray[$colno] != $cell) { die("Column {$colno} does not match its counterpart in the database"); } else { echo "spreadsheet part ({$cell}) perfectly matches db part ({$tableColsArray[$colno]})<br />"; } } //This goes through the whole sheet building the insert statement from the data: $actualInserts = 0; for ($rowno = 2; $rowno <= $rowcount; $rowno++) { $sql = "INSERT INTO `{$tableName}` ("; for ($no = 1; $no < count($tableColsArray); $no++) { $sql = $sql . "`{$tableColsArray[$no]}`,"; } $sql = substr($sql, 0, -1) . ") VALUES ("; for ($colno = 1; $colno <= $colcount; $colno++) { $sql = $sql . "'" . mysql_real_escape_string($data->value($rowno, $colno)) . "',"; } $sql = substr($sql, 0, -1) . ")"; //This executes the insert and counts the successful inserts: if (!mysql_query($sql)) { echo mysql_error(); } else { $actualInserts++; } } echo "<br />" . $actualInserts . " rows inserted"; }
function xls_import($id, $returl = '') { global $_CAMILA; require_once CAMILA_DIR . 'datagrid/form.class.php'; require_once CAMILA_DIR . 'datagrid/elements/form/hidden.php'; require_once CAMILA_DIR . 'datagrid/elements/form/filebox.php'; require_once CAMILA_DIR . 'datagrid/elements/form/static_listbox.php'; //if ($returl != '') // $form3 = new phpform('camilastep4', $returl); //else $form3 = new phpform('camilastep4', 'cf_worktable_wizard_step4.php'); $form3->submitbutton = camila_get_translation('camila.wizard.next'); $form3->drawrules = false; new form_hidden($form3, 'custom', $id); if ($returl != '') { new form_hidden($form3, 'returl', $_REQUEST['camila_returl']); } new form_filebox($form3, 'filename', camila_get_translation('camila.worktable.xls.choose'), 50, CAMILA_TMP_DIR); $sheet_list = ''; for ($i = 0; $i < 10; $i++) { if ($i > 0) { $sheet_list .= ','; } $sheet_list .= $i . ';' . ($i + 1); } new form_static_listbox($form3, 'sheetnum', camila_get_translation('camila.worktable.xls.sheetnum'), $sheet_list); $success = true; if ($form3->process()) { $filename = $form3->fields['filename']->value[0]; $sheetnum = $form3->fields['sheetnum']->value; $result = $_CAMILA['db']->Execute('select short_title, scriptname, tablename, filename, sheetnum from ' . CAMILA_TABLE_WORKT . ' where id=' . $_CAMILA['db']->qstr($id)); if ($result === false) { camila_error_page(camila_get_translation('camila.sqlerror') . ' ' . $_CAMILA['db']->ErrorMsg()); } $table = $result->fields['tablename']; $worktablename = $result->fields['short_title']; $worktablescript = $result->fields['scriptname']; if ($filename == '' && $result->fields['filename'] != '') { $filename = $result->fields['filename']; $sheetnum = $result->fields['sheetnum']; } if ($filename != '') { require_once CAMILA_LIB_DIR . 'php-excel-reader/excel_reader2.php'; $data = new Spreadsheet_Excel_Reader(CAMILA_TMP_DIR . '/' . $filename); $excelColNames = array(); $i = 0; while ($data->val(1, $i + 1, $sheetnum) != '') { $name = $data->val(1, $i + 1, $sheetnum); $excelColNames[$i] = camila_strtoupper_utf8(isUTF8($name) ? $name : utf8_encode($name)); $i++; } $result = $_CAMILA['db']->Execute('select * from ' . CAMILA_TABLE_WORKC . ' where (wt_id=' . $_CAMILA['db']->qstr($id) . ' and is_deleted<>' . $_CAMILA['db']->qstr('y') . ') order by sequence'); if ($result === false) { camila_error_page(camila_get_translation('camila.sqlerror') . ' ' . $_CAMILA['db']->ErrorMsg()); } $fields = array(); $types = array(); $defVals = array(); $forceCase = array(); $orig_types = array(); $fieldMapping = array(); $forceArr = camila_get_translation_array('camila.worktable.options.force'); $count = 0; while (!$result->EOF) { $colName = $result->fields['col_name']; $name = camila_strtoupper_utf8($result->fields['name']); $fieldMapping[$colName] = isUTF8($name) ? $name : utf8_encode($name); $fields[$count] = $colName; $types[$count] = $result->fields['type']; $orig_types[$count] = $result->fields['orig_type']; $defVals[$count] = $result->fields['default_value']; $forceCase[$count] = $result->fields['force_case']; $count++; $result->MoveNext(); } $successCount = 0; $failCount = 0; //db fields for ($i = 2; $i <= $data->rowcount($sheetnum); $i++) { $record = array(); $emptyrow = true; //db fields reset($fields); foreach ($fields as $k => $v) { //k Field position into database //k2 Position in Excel file $k2 = array_search($fieldMapping[$v], $excelColNames); //Is it in Excel file? if ($k2 !== false) { $excelColName = camila_strtoupper_utf8($data->value(1, $k2 + 1, $sheetnum)); //$excelColName = $v; $worktableColName = array_search($excelColName, $fieldMapping); $worktableColName = $v; if ($worktableColName != '') { if ($types[$k] == 'date' && $data->val($i, $k2 + 1, $sheetnum) != '') { $numValue = $data->sheets[$sheetnum]['cellsInfo'][$i][$k2 + 1]['raw']; $utcDays = floor($numValue - ($data->nineteenFour ? SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904 : SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS)); $utcValue = $utcDays * SPREADSHEET_EXCEL_READER_MSINADAY; $dateinfo = gmgetdate($utcValue); $fractionalDay = $numValue - floor($numValue) + 1.0E-7; // The .0000001 is to fix for php/excel fractional diffs $totalseconds = floor(SPREADSHEET_EXCEL_READER_MSINADAY * $fractionalDay); $secs = $totalseconds % 60; $totalseconds -= $secs; $hours = floor($totalseconds / (60 * 60)); $mins = floor($totalseconds / 60) % 60; $dt = date('Y-m-d', mktime($hours, $mins, $secs, $dateinfo["mon"], $dateinfo["mday"], $dateinfo["year"])); $record[$worktableColName] = $_CAMILA['db']->BindDate($dt); } elseif ($orig_types[$k] == 'number' && $data->sheets[$sheetnum]['cellsInfo'][$i][$k2 + 1]['raw'] != '') { $record[$worktableColName] = $data->sheets[$sheetnum]['cellsInfo'][$i][$k2 + 1]['raw']; } elseif ($types[$k] == 'hyperlink' && $data->hyperlink($i, $k2 + 1, $sheetnum) != '') { //$record[$worktableColName] = '<a href="' . $data->hyperlink($i, $k2+1, $sheetnum) . '" target="_blank">' . $data->value($i, $k2+1, $sheetnum) . '</a>'; $record[$worktableColName] = $data->hyperlink($i, $k2 + 1, $sheetnum); } else { $record[$worktableColName] = $data->value($i, $k2 + 1, $sheetnum); } if ($defVals[$k] != '' && $record[$worktableColName] == '') { $record[$worktableColName] = camila_parse_default_expression($defVals[$k], '_camila_seq_num_', true); } if ($record[$worktableColName] != '') { if ($forceCase[$k] == 'upper') { $record[$worktableColName] = mb_strtoupper($record[$worktableColName], 'UTF-8'); } if ($forceCase[$k] == 'lower') { $record[$worktableColName] = mb_strtolower($record[$worktableColName], 'UTF-8'); } $emptyrow = false; } } } else { if ($defVals[$k] != '') { $record[$fields[$k]] = camila_parse_default_expression($defVals[$k], '_camila_seq_num_', true); } } } if (!$emptyrow) { $now = $_CAMILA['db']->BindTimeStamp(gmdate("Y-m-d H:i:s", time())); $id = $_CAMILA['db']->GenID('worktableseq', 100000); foreach ($record as $k => $v) { $record[$k] = str_replace('_camila_seq_num_', $id, $v); } $record['id'] = $id; $record['created'] = $now; $record['created_by'] = $_CAMILA['user']; $record['created_src'] = 'import'; $record['created_by_surname'] = $_CAMILA['user_surname']; $record['created_by_name'] = $_CAMILA['user_name']; $record['last_upd'] = $now; $record['last_upd_by'] = $_CAMILA['user']; $record['last_upd_src'] = 'import'; $record['last_upd_by_surname'] = $_CAMILA['user_surname']; $record['last_upd_by_name'] = $_CAMILA['user_name']; $record['mod_num'] = 0; $insertSQL = $_CAMILA['db']->AutoExecute($table, $record, 'INSERT'); if (!$insertSQL) { //camila_information_text(camila_get_translation('camila.worktable.db.importerror')); $failCount++; $success = false; } else { $successCount++; } } } } camila_information_text(camila_get_translation('camila.worktable.db.importedrows') . ': ' . $successCount); camila_information_text(camila_get_translation('camila.worktable.db.skippedrows') . ': ' . $failCount); @unlink(CAMILA_TMP_DIR . '/' . $filename); } else { $result = $_CAMILA['db']->Execute('select tablename, filename, sheetnum from ' . CAMILA_TABLE_WORKT . ' where id=' . $_CAMILA['db']->qstr($id)); if ($result === false) { camila_error_page(camila_get_translation('camila.sqlerror') . ' ' . $_CAMILA['db']->ErrorMsg()); } $filename = $result->fields['filename']; // if ($filename != '') { $myText = new CHAW_text(camila_get_translation('camila.wizard.choosefileforimport')); $_CAMILA['page']->add_text($myText); $form3->draw(); $success = false; // } } if ($success) { if ($worktablename != '') { $myLink = new CHAW_link($worktablename, $worktablescript); $myLink->set_br(0); $_CAMILA['page']->add_link($myLink); $myText = new CHAW_text(' - ' . camila_get_translation('camila.worktable.db.importok')); $_CAMILA['page']->add_text($myText); } else { $myText = new CHAW_text(camila_get_translation('camila.wizard.configurationapplied')); $_CAMILA['page']->add_text($myText); } } }
<?php ini_set("memory_limit", "10000M"); $conn = mysql_connect("localhost", "mahimagroup", "Mahima123") or die("Couldn't connect to server."); $db = mysql_select_db("mahimagroup", $conn) or die("Couldn't select database."); ini_set("display_errors", 1); error_reporting(E_ALL); require_once 'excel/excel_reader2.php'; $data = new Spreadsheet_Excel_Reader("itemMaster.xls"); for ($row = 2; $row <= $data->rowcount(); $row++) { $sql = "SELECT uom_id FROM ms_uom where name = '" . $data->value($row, 6) . "'"; $result = mysql_query($sql) or die("Error in : " . $sql . "<br>" . mysql_errno() . " : " . mysql_error()); if (mysql_num_rows($result) > 0) { $row_1 = mysql_fetch_array($result); $unit_id = $row_1['uom_id']; } $sql = "SELECT department_id FROM ms_department where name = '" . $data->value($row, 2) . "'"; $result = mysql_query($sql) or die("Error in : " . $sql . "<br>" . mysql_errno() . " : " . mysql_error()); if (mysql_num_rows($result) > 0) { $row_1 = mysql_fetch_array($result); $department_id = $row_1['department_id']; } $sql = "SELECT machinary_id FROM ms_machinary where name = '" . $data->value($row, 3) . "'"; $result = mysql_query($sql) or die("Error in : " . $sql . "<br>" . mysql_errno() . " : " . mysql_error()); if (mysql_num_rows($result) > 0) { $row_1 = mysql_fetch_array($result); $machinary_id = $row_1['machinary_id']; } echo $sql_item = "insert into ms_item_master set\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = '" . addslashes($data->value($row, 1)) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdepartment_id = '" . $department_id . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuom_id = '" . $unit_id . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmachinary_id = '" . $machinary_id . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdrawing_number ='" . $data->value($row, 4) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcatelog_number = '" . $data->value($row, 5) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype_of_item = '" . $data->value($row, 8) . "'"; //$result_ins = mysql_query($sql_item) or die("Error in query:".$sql_item."<br>".mysql_error().":".mysql_errno()); }
if ($data->format($row, 3) != "") { $arr_test = explode(" ", $data->format($row, 3)); $uom = str_replace('"', "", $arr_test[1]); if (!in_array($uom, $unit_master)) { $unit_master[] = $uom; } } } foreach ($unit_master as $unit_name) { $sql_unit_master = "insert into ms_uom set\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = '" . $unit_name . "'"; $result_ins = mysql_query($sql_unit_master) or die("Error in query:" . $sql_unit_master . "<br>" . mysql_error() . ":" . mysql_errno()); } $dep_id = 0; for ($row = 5; $row <= $data->rowcount(); $row++) { if ($data->bold($row, 1, 0)) { $sql_department = "insert into ms_department set\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = '" . $data->value($row, 1, 0) . "'"; $result_ins = mysql_query($sql_department) or die("Error in query:" . $sql_department . "<br>" . mysql_error() . ":" . mysql_errno()); $dep_id = mysql_insert_id(); } else { $unit_id = 0; if ($data->format($row, 3) != "") { $arr_test = explode(" ", $data->format($row, 3)); $uom = str_replace('"', "", $arr_test[1]); } $sql = "SELECT uom_id FROM ms_uom where name = '" . $uom . "'"; $result = mysql_query($sql) or die("Error in : " . $sql . "<br>" . mysql_errno() . " : " . mysql_error()); if (mysql_num_rows($result) > 0) { $row_1 = mysql_fetch_array($result); $unit_id = $row_1['uom_id']; } $sql_item = "insert into ms_item_master set\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = '" . addslashes($data->value($row, 1)) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdepartment_id = '" . $dep_id . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tuom_id = '" . $unit_id . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topening_rate ='" . $data->raw($row, 4) . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topening_quantity = '" . $data->raw($row, 3) . "'";
/** * Upload Excel method * Upload Access Details Template * @return void */ public function uploadexcel() { $excelfile = $this->request->data['AccessDetail']['uploadexcelfile']['tmp_name']; $excelData = new Spreadsheet_Excel_Reader($excelfile, true); $accessDetailsModel = array(); //starting with 2, 1 is header skipping it, all index for excel starts with 1 $rowindex = 2; $arrindex = 0; while ($excelData->value($rowindex, 1) != '') { //accessid is auto increment $accessDetailsModel['AccessDetail'][$arrindex]['uniqueid'] = $excelData->value($rowindex, 1); $accessDetailsModel['AccessDetail'][$arrindex]['fname'] = $excelData->value($rowindex, 2); $accessDetailsModel['AccessDetail'][$arrindex]['lname'] = $excelData->value($rowindex, 3); $accessDetailsModel['AccessDetail'][$arrindex]['team'] = $this->getUserTeam(); $accessDetailsModel['AccessDetail'][$arrindex]['systype'] = $excelData->value($rowindex, 4); $accessDetailsModel['AccessDetail'][$arrindex]['sysname'] = $excelData->value($rowindex, 5); $accessDetailsModel['AccessDetail'][$arrindex]['env'] = $excelData->value($rowindex, 6); $accessDetailsModel['AccessDetail'][$arrindex]['accresp'] = $excelData->value($rowindex, 7); $accessDetailsModel['AccessDetail'][$arrindex]['acctype'] = $excelData->value($rowindex, 8); $accessDetailsModel['AccessDetail'][$arrindex]['accprivilege'] = $excelData->value($rowindex, 9); $accessDetailsModel['AccessDetail'][$arrindex++]['accidassigned'] = $excelData->value($rowindex++, 10); } //debug($accessDetailsModel); foreach ($accessDetailsModel['AccessDetail'] as $value) { $accessDetailEntity['AccessDetail'] = $value; $this->AccessDetail->create(); if ($this->AccessDetail->save($accessDetailEntity)) { $this->setFlash('Successfully uploaded from excel.', AppController::$SUCCESS); } else { $this->setFlash(AppController::$errorMessage, AppController::$DANGER); break; } } return $this->redirect(array('action' => 'index')); }
echo "<td>Pendidikan</td>"; echo "<td>TMT Lama</td>"; echo "<td>MKG Lama (Tahun)</td>"; echo "<td>MKG Lama (Bulan)</td>"; echo "<td>Gaji Pokok Lama</td>"; echo "<td>Jabatan</td>"; echo "<td>TMT Baru</td>"; echo "<td>MKG Baru (Tahun)</td>"; echo "<td>MKG Baru (Bulan)</td>"; echo "<td>Unit Kerja / SKPD</td>"; echo "<td>No SK</td>"; echo "<td>Tgl SK</td>"; echo "</tr>"; for ($i = 5; $i <= $data->rowcount(0); $i++) { // Cek Jika Pada Suatu Baris Nilainya Kosong atau Tidak if ($data->value($i, 1, 0) != "") { echo "<tr>"; echo "<td>" . $data->value($i, 1, 0) . "</td>"; echo "<td>" . $data->value($i, 2, 0) . "</td>"; echo "<td>" . $data->value($i, 3, 0) . "</td>"; echo "<td>" . $data->value($i, 5, 0) . "</td>"; echo "<td>" . $data->value($i, 6, 0) . "</td>"; echo "<td>" . $data->value($i, 8, 0) . "</td>"; echo "<td>" . $data->value($i, 9, 0) . "</td>"; echo "<td>" . $data->value($i, 10, 0) . "</td>"; echo "<td>" . $data->value($i, 11, 0) . "</td>"; echo "<td>" . $data->value($i, 12, 0) . "</td>"; echo "<td>" . $data->value($i, 14, 0) . "</td>"; echo "<td>" . $data->value($i, 15, 0) . "</td>"; echo "<td>" . $data->value($i, 16, 0) . "</td>"; echo "<td>" . $data->value($i, 19, 0) . "</td>";
protected function RowtoContact(Spreadsheet_Excel_Reader $data, $row) { $contactRec = array(); $contactRec['first_name'] = $data->value($row, 1); $contactRec['last_name'] = $data->value($row, 2); $contactRec['display_name'] = $data->value($row, 3); $contactRec['company'] = $data->value($row, 4); $contactRec['department'] = $data->value($row, 5); $contactRec['position'] = $data->value($row, 6); $contactRec['email'] = $data->value($row, 7); $contactRec['phone'] = $data->value($row, 8); $contactRec['mobile'] = $data->value($row, 9); $contactRec['fax'] = $data->value($row, 10); $contactRec['zipcode'] = $data->value($row, 11); $contactRec['province'] = $data->value($row, 12); $contactRec['city'] = $data->value($row, 13); $contactRec['street'] = $data->value($row, 14); $contactRec['country'] = $data->value($row, 15); $contactRec['webpage'] = $data->value($row, 16); $contactRec['qq'] = $data->value($row, 17); $contactRec['icq'] = $data->value($row, 18); $contactRec['skype'] = $data->value($row, 19); $contactRec['yahoo'] = $data->value($row, 20); $contactRec['photo'] = ""; $contactRec['selected'] = '1'; $contactRec['foreign_key'] = $this->getRawFileName() . '-' . $row; $contactRec['source'] = 'Excel2003 - ' . $this->getRawFileName(); return $contactRec; }
include "../mysqli_connect.php"; require_once "../excel_reader2.php"; $nomor_sk = $_POST['no_sk']; /*INFO OF FILES*/ $tmp = $_FILES['filename']['tmp_name']; $fname = $_FILES['filename']['name']; $DIR = "../../sys_files/scan_sk_kenpang/" . $fname; // upload dahulu move_uploaded_file($tmp, $DIR); if (file_exists($DIR)) { $data = new Spreadsheet_Excel_Reader($DIR); } $sql = ""; for ($i = 5; $i <= $data->rowcount(0); $i++) { // Cek Jika Pada Suatu Baris Nilainya Kosong atau Tidak if ($data->value($i, 1, 0) != "") { //$data->value($i,1,0); $no_bkn = $data->value($i, 2, 0); $tgl_bkn = $data->value($i, 3, 0); $nip = $data->value($i, 5, 0); $pendidikan = $data->value($i, 6, 0); $tmt_lama = $data->value($i, 8, 0); $mkgt_lama = $data->value($i, 9, 0); $mkgb_lama = $data->value($i, 10, 0); $gapok_lama = $data->value($i, 11, 0); $jabatan = $data->value($i, 12, 0); $tmt_baru = $data->value($i, 14, 0); $mkgt_baru = $data->value($i, 15, 0); $mkgb_baru = $data->value($i, 16, 0); $skpd = $data->value($i, 19, 0); $no_sk = $data->value($i, 21, 0);