WordPess 导入 Excel 表格并保存为 HTML 表格到自定义字段
文 / @UTHEME
使用WordPress开发网站时的数据导入方法
我是一名WordPress开发者,今天我来和大家分享一个提高WordPress开发效率的方法——直接导入Excel表格到数据库。特别是对于数据量非常大的情况,一个个在后台上传太浪费时间了。
第一步:上传Excel表格并保存为附件,附加到文章
这个步骤比较简单,关键的一步是获取上传的文件并保存到自定义字段。具体可以通过添加一个自定义函数作为回调来实现上传文件,也可以做一个上传Excel文件用的Metabox,对于对WordPressMetaboxAPI非常熟悉的人来说,这种方法更容易上手。
$improt_data=sanitize_text_field($_POST['wizhi_excel_import']);
update_post_meta($post_ID,'wizhi_excel_import',$improt_data);
第二步:获取保存的自定义字段
在上一步中,我们把上传的Excel附件以附件ID的方式保存到了自定义字段。这一步,我们需要先获取保存的Excel附件ID,然后再根据附件ID获取Excel文件的实际路径。得到了Excel文件后,就可以用PHPExcel库读取文件,并根据读取的信息生成一个HTML表格,然后把这个表格保存到自定义字段就可以了。
//获取Excel附件ID
$excel_id=get_post_meta($post_ID,'wizhi_excel_import',true);
//获取Excel文件的实际路径
$excel_file=get_attached_file($excel_id);
//实例化PHPExcel加载文件类
$objPHPExcel=PHPExcel_IOFactory::load($excel_file);
//开始读取文件,并生成HTML表格
ob_start();
foreach($objPHPExcel->getWorksheetIterator() as $worksheet){
$highestRow=$worksheet->getHighestRow();//获取最大行数
$highestColumn=$worksheet->getHighestColumn();//获取最大列数
$highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);
echo '<table>';
for($row=1;$row<=$highestRow;++$row){
echo '<tr>';
for($col=0;$col<$highestColumnIndex;++$col){
$cell=$worksheet->getCellByColumnAndRow($col,$row);
$val=$cell->getValue();
echo '<td>'.$val.'</td>';
}
echo '</tr>';
}
echo '</table>';
}
$output=ob_get_contents();
ob_end_clean();
//把生成的HTML表格保存到自定义字段中,前台显示的时候,直接调用这个自定义字段就可以了。
update_post_meta($post_ID,'wizhi_excel_imported_content',$output);
总结和说明
实际应用场景不同,数据导入的实现方法也各不相同。在这个案例里面,我们粗暴地将Excel表格里面的数据保存成了HTML表格,而没有根据字段类型导入相应的文章字段。如果需要将Excel表格里面的数据导入到文章字段(如标题、正文等),可以在第二步生成HTML表格的时候做一些判断,然后写入相应的字段。如果您对本文中的方法有更好的实现方式或者其他疑问,请在评论区与我交流。

相关文章
-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46