phpExcel导入支持A-ZZ

phpExcel导入支持A-ZZ


A-ZZ 共支持702个字段
可自己修改下面代码,支持更多列

$az = array();
foreach ($fileds as $key => $val) {
	$azsnum = 65+$key;
	if ($azsnum <= 90) {
		$azs = chr($azsnum);
	} else {
		$floor = floor(($azsnum - 65)/26) - 1;
		$azs = chr(65 + $floor).chr((($azsnum - 65) % 26) + 65);
	}
       $objPHPExcel->getActiveSheet()->getStyle($azs)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
       $az[$key] = $azs;
}

完整代码:


<?php
public function userprint()
{
    $fileds = array(
		array('field' => '数据库字段名','title' => '数据库字段备注')
	);
   $this->phpexcelprint(输出数据,$fileds,输出文件名);
}
private function phpexcelprint($list,$fileds,$title)
{
	vendor("PHPExcel");
	$objPHPExcel = new \PHPExcel();

    $objPHPExcel->getProperties()->setCreator("ctos")
        ->setLastModifiedBy("ctos")
        ->setTitle("Office 2007 XLSX Test Document")
        ->setSubject("Office 2007 XLSX Test Document")
        ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
        ->setKeywords("office 2007 openxml php")
        ->setCategory("Test result file");

    
	$az = array();
	foreach ($fileds as $key => $val) {
		$azsnum = 65+$key;
		if ($azsnum <= 90) {
			$azs = chr($azsnum);
		} else {
			$floor = floor(($azsnum - 65)/26) - 1;
			$azs = chr(65 + $floor).chr((($azsnum - 65) % 26) + 65);
		}
        $objPHPExcel->getActiveSheet()->getStyle($azs)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
        $az[$key] = $azs;
	}

    $newaz = array();
    foreach ($fileds as $key => $val) {
    	$objPHPExcel->setActiveSheetIndex(0)->setCellValue($az[$key].'1',$val['title']);
    	$newaz[$az[$key]] = $val['field'];
	}
    

    for($i=0;$i<count($list);$i++){
    	foreach ($newaz as $k => $v) {
    		$objPHPExcel->getActiveSheet(0)->setCellValue($k.($i+2),$list[$i][$v]);
    	}
    }
    $objPHPExcel->setActiveSheetIndex(0);
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$title.'.xls"');
    header('Cache-Control: max-age=0');
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用PHPExcel将Excel文件中的数据导入到数据库的步骤: 1. 首先,您需要安装PHPExcel库。您可以从官方GitHub存储库中获取最新版本的PHPExcel。下载后,将库的文件解压缩到您的项目目录中。 2. 创建一个名为“import_excel.php”的PHP文件,并在其中包含PHPExcel库中的“PHPExcel.php”文件。 3. 在“import_excel.php”文件中,创建一个HTML表单,允许用户上传Excel文件。 4. 在PHP文件中,使用以下代码将Excel文件中的数据读取到PHP数组中: ```php require_once 'PHPExcel.php'; $excel = PHPExcel_IOFactory::load($_FILES['file']['tmp_name']); $sheet = $excel->getActiveSheet(); $rows = array(); foreach ($sheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(FALSE); $cells = array(); foreach ($cellIterator as $cell) { $cells[] = $cell->getValue(); } $rows[] = $cells; } ``` 5. 将数组中的数据插入到数据库中。您可以使用MySQLi或PDO等PHP扩展来执行此操作。以下是一个使用MySQLi的示例: ```php $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } foreach ($rows as $row) { $sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('" . $row[0] . "', '" . $row[1] . "', '" . $row[2] . "')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ``` 6. 在浏览器中打开“import_excel.php”文件,并上传Excel文件。数据将被导入到数据库中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GMYcode

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值