php - 使用 PHP Excel 从 Excel 文件导入数据
问题描述
我正在尝试从 Excel 工作表中导入一些数据,但我的一个变量(级别)不起作用。我希望有人可以看看为什么这个不起作用,但事件和部门可以。
class CompetitionClass
{
public $event;
public $division;
public $level;
function __construct(){
$this->entryTable = array();
}
}
$x++;
$compClass[$x] = new CompetitionClass();
$compClass[$x] -> event = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('F1')->getOldCalculatedValue());
$compClass[$x] -> division = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('H1')->getOldCalculatedValue());
$compClass[$x] -> level = htmlspecialchars((string)$objPHPExcel->getSheet($key)->getCell('F2')->getOldCalculatedValue());
foreach($compClass as $key => $value)
{
if($value -> division == "MOD")
{
print(strtoupper($value -> event)." ".strtoupper($value -> level)." ".strtoupper($value -> division)."<BR/>");
}
}
解决方案
我不得不更改我的 readCell 函数以包含第 2 行而不仅仅是第 1 行。
这是我在更改之前所拥有的:
class MyReadFilter implements PHPExcel_Reader_IReadFilter
{
public function readCell($column, $row, $worksheetName = '')
{
if (($row == 1 and in_array($column, range('F','H'))) or ($row >= 3 and $row <= 25 and in_array($column, range('G','N'))))
{ return true; }
return false;
}
}
这是更改后的:
class MyReadFilter implements PHPExcel_Reader_IReadFilter
{
public function readCell($column, $row, $worksheetName = '')
{
if (($row >= 1 and $row <= 2 and in_array($column, range('F','H'))) or ($row >= 3 and $row <= 25 and in_array($column, range('G','N'))))
{ return true; }
return false;
}
}
所以将 $row == 1 更改为 $row >= 1 和 $row <= 2
推荐阅读
- python - 尝试使用 Py 进行自动文本文件翻译时出现 NoneType 错误
- javascript - 如何通过使用angularJS单击另一个组件的按钮来更改一个组件的视图?
- server - 自动备份和下载服务器中的域到本地电脑
- javascript - 查询每个地图元素 NodeJS/Express 时的异步操作问题
- c# - 关于 Nodejs 和 mongo 和 C#
- react-native - Expo react native用相机拍照并使用recoh theta api将其转换为360度图像
- reactjs - 依赖包中没有定义进程
- ruby-on-rails - “belongs_to”添加的“create_association()”如何工作?
- mongodb - mongodb投影后返回类型的类型
- php - 致命错误:未捕获错误:语法错误,意外 '"](?P
.+?)['"' (T_CONSTANT_ENCAPSED_STRING), 在 PHP 中期望 ')'