PHP使用PHPExcel导出,导入数据总结
导出excel:
header("Content-type: text/html; charset=utf-8");
include_once dirname(dirname(__FILE__))."/Classes/PHPExcel.php";
$objPHPExcel = new PHPExcel();
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->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");
//设置标题
$objPHPExcel->getActiveSheet()->setTitle($filename);
//设置表头
$key1 = 1;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$key1, "ID")
->setCellValue("B".$key1, "关键词")
->setCellValue("C".$key1, "歌曲HASH")
->setCellValue("D".$key1, "歌曲名")
->setCellValue("E".$key1, "排序")
->setCellValue("F".$key1, "开始日期")
->setCellValue("G".$key1, "结束日期")
->setCellValue("H".$key1, "操作人");
//设置样式:
$objPHPExcel->getActiveSheet()->getStyle("A1:H1")->getFont()->setBold(true); //多个单元格
// $objPHPExcel->getActiveSheet()->getStyle("A1:H1")->getFont()->getColor()->setARGB("FFFF0000"); //设置颜色
// $objPHPExcel->getActiveSheet()->getStyle("B1")->getFont()->setBold(true); //单个单元格
$objPHPExcel->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); //列宽必须单个设置
$objPHPExcel->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension("D")->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension("F")->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension("G")->setAutoSize(true);
//写入内容
foreach($datalist as $key =>$value){
$key1=$key+2;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A".$key1, $value["id"])
->setCellValue("B".$key1, $value["keyword"])
->setCellValue("C".$key1, $value["hash"])
->setCellValue("D".$key1, $value["filename"])
->setCellValue("E".$key1, $value["weight"])
->setCellValue("F".$key1, $value["startdate"])
->setCellValue("G".$key1, $value["enddate"])
->setCellValue("H".$key1, $value["editor"]);
}
// $objPHPExcel->setActiveSheetIndex(0);
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment;filename="". $filename .".xls"");
header("Cache-Control: max-age=0");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");
$objWriter->save("php://output");
exit;
从excel导入:
header("Content-type: text/html; charset=utf-8");
$addFile=$_FILES["excel"];
$excelFileName =$addFile["tmp_name"];
$location = KG_DOMAIN . "/diysort/index";
if ($addFile["type"] != "application/vnd.ms-excel" && $addFile["type"] != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") {
echo "<script type="text/javascript">alert("上传格式错误");window.location.href="" . $location ."";</script>";
//header("Location: " . KG_DOMAIN . "/diysort/index");
exit;
}
include_once dirname(dirname(__FILE__))."/Classes/PHPExcel/IOFactory.php";
$objPHPExcel = PHPExcel_IOFactory::load($excelFileName);
$objWorksheet = $objPHPExcel->getSheet(0);
$highestRow = $objWorksheet->getHighestRow(); // 取得总行数
$highestColumn = $objWorksheet->getHighestColumn(); // 取得总列数
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString ( $highestColumn );
$excelData = array ();
for($row = 1; $row <= $highestRow; $row++) {
for($col = 0; $col < $highestColumnIndex; $col++) {
$excelData[$row-1][] = $objWorksheet->getCellByColumnAndRow( $col, $row )->getValue();
}
}
//数据入库
$diysortmodule = new DiysortModule();
$rowins = 0;
foreach ($excelData as $key => $value) {
if (empty($value) || trim($value[0]) == "关键词" || trim($value[0] == "ID")) {
continue;
}
$keyword = trim(addslashes($value[0]));
$hash = trim(addslashes($value[1]));
$filename = trim(addslashes($value[2]));
$weight = intval($value[3]);
$startdate = trim(addslashes($value[4]));
$enddate = trim(addslashes($value[5]));
$adddate = date("Y-m-d H:i:s",time());
$input_data = array(
"keyword" => $keyword,
"startdate" => $startdate,
"enddate" => $enddate,
"hash" => $hash,
"filename" => $filename,
"weight" => $weight,
"adddate" => $adddate,
"editor" => $this->editor,
);
if (!empty($hash) && !empty($filename) && is_numeric($weight)) {
$newid = $diysortmodule->addData($input_data);
if ($newid > 0) {
$rowins ++;
}
}
}
echo "<script type="text/javascript">alert("共上传成功". $rowins." 条记录");window.location.href="" . $location ."";</script>";
exit;
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
