php读取excel数据保存到mysql_php读取excel并存入数据库

header("Content-Type:text/html;charset=utf-8");

$dir = dirname(__FILE__);

require $dir . '/Excel/PHPExcel/IOFactory.php'; //引入PHP EXCEL类

$filename = $dir . "/storage_num.xls";

$fileType = PHPExcel_IOFactory::identify($filename); //自动获取php的类型给phpExcel用

$objReader = PHPExcel_IOFactory::createReader($fileType); //获取文件读取操作对象

$objPHPExcel = PHPExcel_IOFactory::load($filename); //加载整个Excel表格

//获取工作表的数目

$sheet = $objPHPExcel->getSheet(0); // 读取第一個工作

$allRow = $sheet->getHighestRow(); // 取得总行数

$allColumn = $sheet->getHighestColumn(); // 取得总列数

$sheetCount = $objPHPExcel->getSheetCount();

$data = array();

for ($rowIndex = 1; $rowIndex <= $allRow; $rowIndex++) {

//循环读取每个单元格的内容。注意行从1开始,列从A开始

for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) {

$addr = $colIndex . $rowIndex;

$cell = (string) $sheet->getCell($addr)->getValue();

if ($cell instanceof PHPExcel_RichText) { //富文本转换字符

$cell = strval($cell->__toString());

}

if (!empty($cell)) {

$data[$rowIndex][$colIndex] = $cell;

}

}

}

$all_key = $data[1]; //取出第一个数组的所有值作为新数组的key

$arr = array();

$ret = array();

$allAttr = array();

foreach ($data as $key => $value) {

if (!empty($value)) {//&& !empty($key)

if ($key != 0 && $key != 1) {

for ($colIndex = 'A'; $colIndex <= $allColumn; $colIndex++) {

if (!empty($all_key) && !empty($value)) {

if (!empty($value["$colIndex"])) {//去除空的单元格

$arr[$all_key["$colIndex"]] = $value["$colIndex"];

}

}

}

}

}

if (!empty($arr)) {

array_push($ret, $arr); //组合成新数组放到$ret

}

}

//循环新数组

foreach ($ret as $attr => $prodVal) {

if (!empty($prodVal)) {

//print_r($prodVal);

foreach ($prodVal as $attrname => $attrValue) {

//$STORAGE_NUM='';

if ($attrname == '货位号' && !empty($attrValue)) {//获取货位号

$STORAGE_NUM = $attrValue;

}

//$proCode='';

if ($attrname == '商品编号' && !empty($attrValue)) {//获取商品编号

$proCode = $attrValue;

}

$tns = 'oci:dbname=//192.168.1.9:1521/orcl';

$db_username = "test_product";

$db_password = "123456";

$sth = new PDO($tns, $db_username, $db_password);

//修改单条的货位号

//$sql="update T_PRODUCT set STORAGE_NUM=:STORAGE_NUM WHERE PROD_CODE='170020001118019'";

//修改所有的货位号

$sql = "update T_PRODUCT set STORAGE_NUM=:STORAGE_NUM WHERE PROD_CODE=:PROD_CODE";

$result = $sth->prepare($sql);

$result->bindParam(':STORAGE_NUM', $STORAGE_NUM);

$result->bindParam(':PROD_CODE', $proCode);

$bool = $result->execute();

var_dump($bool);

}

}

}

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值