php 电子表格 excel reader 返回匿名值
php spreadsheet excel reader returning anonymous values
我正在使用 php 电子表格 excel reader 读取 excel 文件并进行一些操作。
它工作正常,突然开始 return value 'General' in case of integer columns
Sample rows from excel:
代码:
$dataFields = array("alias"=>"alias","store_quantity"=>"store_quantity","godown_quantity"=>"godown_quantity","name"=>"name");
$mandatoryFeilds = array("alias","store_quantity","godown_quantity","name");
$fieldsPos = array();
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read($_FILES['upload-file']['tmp_name']);
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
if ( isset($data->sheets[0]['cells'][1][$j]) == true )
{
$fieldsPos[$data->sheets[0]['cells'][1][$j]] = $j;
if(array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)!==false)
{
unset($mandatoryFeilds[array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)]);
}
}
}
if(count($mandatoryFeilds)>0)
{
die('Some of the mandatory columns are missing in excel');
}
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++)
{
//printing the output here to check values received from excel which are some anonymous values getting returned
var_dump($data->sheets[0]['cells'][$i]);
}
输出:
array("alias"=>"General","name"=>"Item A","store_quantity"=>"General","godown_quantity"=>"General")
谁能帮我解决这个问题?任何帮助将不胜感激
问题的发生是因为我将 OS 从 Ubuntu 14 更新为 Ubuntu 16,这将 Libre Office 版本从 4.2 更新为 5
Libre 5 中的 excel 文件以上述方式读取。所以它与 Libre 版本有关,而不是来自 Spreadsheet reader.
的任何内容
我遇到了同样的问题。原来那些细胞被封锁了。这就是电子表格 reader 无法正确读取的原因。
据我检查,问题出现在 Libre Office 5 上。
在编辑 Excel sheet 时未进入 Windows。
我通过读取整数案例的 cellsinfo 原始字段来解决这个问题:
$data = new JPhpExcelReader($filename);
$id = $data->sheets[0]['cellsInfo'][$i][1]['raw'];
我正在使用 php 电子表格 excel reader 读取 excel 文件并进行一些操作。 它工作正常,突然开始 return value 'General' in case of integer columns
Sample rows from excel:
代码:
$dataFields = array("alias"=>"alias","store_quantity"=>"store_quantity","godown_quantity"=>"godown_quantity","name"=>"name");
$mandatoryFeilds = array("alias","store_quantity","godown_quantity","name");
$fieldsPos = array();
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');
$data->read($_FILES['upload-file']['tmp_name']);
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)
{
if ( isset($data->sheets[0]['cells'][1][$j]) == true )
{
$fieldsPos[$data->sheets[0]['cells'][1][$j]] = $j;
if(array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)!==false)
{
unset($mandatoryFeilds[array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)]);
}
}
}
if(count($mandatoryFeilds)>0)
{
die('Some of the mandatory columns are missing in excel');
}
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++)
{
//printing the output here to check values received from excel which are some anonymous values getting returned
var_dump($data->sheets[0]['cells'][$i]);
}
输出:
array("alias"=>"General","name"=>"Item A","store_quantity"=>"General","godown_quantity"=>"General")
谁能帮我解决这个问题?任何帮助将不胜感激
问题的发生是因为我将 OS 从 Ubuntu 14 更新为 Ubuntu 16,这将 Libre Office 版本从 4.2 更新为 5
Libre 5 中的 excel 文件以上述方式读取。所以它与 Libre 版本有关,而不是来自 Spreadsheet reader.
的任何内容我遇到了同样的问题。原来那些细胞被封锁了。这就是电子表格 reader 无法正确读取的原因。
据我检查,问题出现在 Libre Office 5 上。
在编辑 Excel sheet 时未进入 Windows。
我通过读取整数案例的 cellsinfo 原始字段来解决这个问题:
$data = new JPhpExcelReader($filename);
$id = $data->sheets[0]['cellsInfo'][$i][1]['raw'];