如何使用wordpress读取csv文件,我尝试了下面的代码,但它无法正常工作:
require_once("PHPexcel/PHPExcel.php");
$file = "sample.csv";
$excelReader = PHPExcel_IOFactory::createReaderForFile($file);
$excelObj = $excelReader->load($file);
$workSheet = $excelObj->getSheet(0);
$lastRow = $workSheet->getHighestRow();
for ($row=2; $row <=$lastRow ; $row++) {
$col1 = $workSheet->getCell('A'.$row)->getValue();
var_dump($col1);
}
我在分离的php文件中尝试了这个并且它可以工作,但是当我把它放在wordpress中时,它不再工作了,我得到了一个错误: 致命错误:未捕获PHPExcel_Reader_Exception:无法打开sample.csv进行阅读!文件不存在。
答案 0 :(得分:0)
将smaple.csv文件放在wordpress根目录中。将PHPexcel库文件夹放在主题文件夹中,并将上述代码放在functions.php
中答案 1 :(得分:0)
更改以下行
$file = "sample.csv";
到
$file = ABSPATH."/sample.csv";
您需要提供csv的完整绝对路径。
谢谢!
答案 2 :(得分:0)
将csv保存为
CSV (MS-DOS) (*.csv)
格式,然后尝试遵循以下代码
这是我的csv数据示例
NAME;ADDRESS;ZIP;CITY;TELEPHONE;SPONSOR;URL
global $wpdb;
$filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$handle = fopen($filename, "r") or die("Error opening file");
$i = 0;
while(($line = fgetcsv($handle)) !== FALSE) {
if($i == 0) {
$c = 0;
foreach($line as $col) {
$cols[$c] = $col;
$c++;
}
} else if($i > 0) {
$c = 0;
foreach($line as $col) {
$client_data[$i][$cols[$c]] = $col;
$c++;
}
}
$i++;
}
fclose($handle);
// var_dump($cols);
$table_name = $wpdb->prefix . 'rlist';
foreach ($client_data as $client_row){
if (is_array($client_row)) {
foreach ($client_row as $value) {
$savedata = explode(";", $value);
if(!empty($savedata)){
$savedata[0] = ($savedata[0]) ? $savedata[0] : null;
$savedata[1] = ($savedata[1]) ? $savedata[1] : null;
$savedata[2] = ($savedata[2]) ? $savedata[2] : null;
$savedata[3] = ($savedata[3]) ? $savedata[3] : null;
$savedata[4] = ($savedata[4]) ? $savedata[4] : null;
$savedata[5] = ($savedata[5]) ? $savedata[5] : null;
$savedata[6] = ($savedata[6]) ? $savedata[6] : null;
$wpdb->insert(
$table_name,
array(
'NAME' => $savedata[0],
'ADDRESS' => $savedata[1],
'ZIP' =>$savedata[2],
'CITY' =>$savedata[3],
'TELEPHONE' =>$savedata[4],
'SPONSOR' =>$savedata[5],
'URL'=> $savedata[6]
)
);
}
}
}
}
fclose($file);