public function checkoutEpqa($examinee, $objActSheet) { $objActSheet->getDefaultRowDimension()->setRowHeight(16); $objActSheet->getDefaultColumnDimension()->setWidth(10); $objActSheet->mergeCells('A1:H1'); $objActSheet->setCellValue('A1', '爱克森个性问卷成人 (EPQA) 结果'); $objActSheet->getStyle('A1')->getFont()->setBold(true); $this->position($objActSheet, 'A1'); $objActSheet->setCellValue('A2', '分类号'); $this->position($objActSheet, 'A2'); // $objActSheet->mergeCells('B2:C2'); $objActSheet->setCellValue('C2', '编号'); $this->position($objActSheet, 'C2'); $objActSheet->mergeCells('D2:E2'); $objActSheet->setCellValue('D2', $examinee->number); $this->position($objActSheet, 'D2'); $objActSheet->setCellValue('F2', '姓名'); $this->position($objActSheet, 'F2'); $objActSheet->mergeCells('G2:H2'); $objActSheet->setCellValue('G2', $examinee->name); $this->position($objActSheet, 'G2'); $objActSheet->setCellValue('A3', '性别'); $this->position($objActSheet, 'A3'); //$objActSheet->mergeCells('B3:C3'); $objActSheet->setCellValue('B3', $examinee->sex == "1" ? "男" : "女"); $this->position($objActSheet, 'B3'); $objActSheet->setCellValue('C3', '年龄'); $this->position($objActSheet, 'C3'); $objActSheet->mergeCells('D3:E3'); $age = floor(FactorScore::calAge($examinee->birthday, $examinee->last_login)); $this->position($objActSheet, 'D3'); $objActSheet->setCellValue('D3', $age); $objActSheet->setCellValue('F3', ''); $objActSheet->mergeCells('G3:H3'); $objActSheet->setCellValue('G3', ''); $objActSheet->setCellValue('A4', '日期'); $this->position($objActSheet, 'A4'); $objActSheet->mergeCells('B4:H4'); $date = explode(' ', $examinee->last_login)[0]; $objActSheet->setCellValue('B4', $date); $this->position($objActSheet, 'B4', 'left'); $objActSheet->mergeCells('D4:H4'); $styleArray = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN))); $objActSheet->getStyle('A2:H4')->applyFromArray($styleArray); $objActSheet->mergeCells('A5:H5'); $objActSheet->setCellValue('C6', '因子名称'); $this->position($objActSheet, 'C6'); $objActSheet->setCellValue('D6', '代号'); $this->position($objActSheet, 'D6'); $objActSheet->setCellValue('E6', '原始得分'); $this->position($objActSheet, 'E6'); $objActSheet->setCellValue('F6', 'T分'); $this->position($objActSheet, 'F6'); $startRow = 7; $data = CheckoutData::getEPQAdata($examinee); if (empty($data)) { return; } $lastRow = $startRow; $tihuan = array('epqae' => 'E', 'epqan' => 'N', 'epqap' => 'P', 'epqal' => 'L'); foreach ($data as $value) { $objActSheet->setCellValue('C' . $startRow, $value['chs_name']); $this->position($objActSheet, 'C' . $startRow); $objActSheet->setCellValue('D' . $startRow, $tihuan[$value['name']]); $this->position($objActSheet, 'D' . $startRow); $objActSheet->setCellValue('E' . $startRow, $value['score']); $this->position($objActSheet, 'E' . $startRow); $objActSheet->setCellValue('F' . $startRow, $value['std_score']); $this->position($objActSheet, 'F' . $startRow); $lastRow = $startRow; $startRow++; } $objActSheet->getStyle('C6:F' . $lastRow)->applyFromArray($styleArray); $startRow++; $objActSheet->mergeCells('A' . $startRow . ':H' . $startRow); $objActSheet->setCellValue('A' . $startRow, ' 爱森克个性问卷(成人)(EPQA)各因子的含义 '); $this->position($objActSheet, 'A' . $startRow, 'left'); $objActSheet->getStyle('A' . $startRow)->getFont()->setBold(true); $firstRow = $startRow; $startRow++; $flag = 0; $lastRow = $startRow; $pingyu_array = array("内外向" => "内外向 (E):分数特高的特点是个性外向,爱交际,喜参加联欢会,朋友多,需要有人同他谈话,不爱一人阅读和作研究,渴望兴奋的事,喜冒险,向外发展,行动受一时冲动影响。喜实际的工作,回答问题迅速,漫不经心,随和,乐观,喜欢谈笑,宁愿动而不愿静,倾向进攻。总的说来是情绪失控制的人,不是一个很踏实的人。分数特低的特点是安静,离群,内省,喜爱读书而不喜欢接触人。保守,与人保持一定距离(除非挚友),倾向于事前有计划,做事关前顾后,不凭一时冲动。不喜欢兴奋的事,日常生活有规律,严谨。很少进攻行为,多少有些悲观。踏实可靠。价值观念是以伦理做标准。", "神经质" => "神经质 (N):分数特高的特点是情绪不稳,焦虑,紧张,易怒,往往又有抑郁。睡眠不好,患有各种心身障碍。情绪过分,对各种刺激的反应都过于强烈,情绪激发后又很难平复下来。由于强烈的情绪反应而影响了他的正常适应。不可理喻,甚至有时走上危险道路。在与外向结合时,这种人是容易冒火的和不休息的,以至激动,进攻。概括地说,是一个紧张的人,好抱偏见,以至错误。分数特低的特点是倾向于情绪反应缓慢,弱,即使激起了情绪也很快平复下来。通常是平静的,即使生点气也是有节制的,并且不紧张。", "精神质" => "精神质 (P):分数高的成人的特点是独身,不关心人,常有些麻烦,在哪里都不合适。可能是残忍的,不人道的,缺乏同情心,感觉迟钝。对人抱敌意,即令是对亲友也如此。进攻,即使是喜爱的人。喜欢一些古怪的不平常的事情,不惧安危,喜恶作剧,总要捣乱。", "掩饰性" => "掩饰性 (L):测定被试的“掩饰”倾向,即不真实的回答。同时也有测量被试的纯朴性的作用。它没有划分有无掩饰的确切标准,要看所测样本的一般水平以及被试的年龄。一般来说,成人的L分因年龄而升高,儿童则因年龄而减低。"); foreach ($data as $value) { //每个因子合并三行 $next_plus = 0; if ($value['chs_name'] == "内外向") { $next_plus = 7; } else { if ($value['chs_name'] == "神经质") { $next_plus = 6; } else { if ($value['chs_name'] == "精神质") { $next_plus = 3; } else { $next_plus = 3; } } } $objActSheet->mergeCells('A' . $startRow . ':H' . ($startRow + $next_plus)); $objActSheet->setCellValue('A' . $startRow, $pingyu_array[$value['chs_name']]); $this->position($objActSheet, 'A' . $startRow, 'left'); $objActSheet->getStyle('A' . $startRow)->getAlignment()->setWrapText(true); $startRow += $next_plus; $lastRow = $startRow; $startRow++; } $string = "以上所列特点是极端例子,实际上很少有如此典型的人,大多是两极端之间,不过是倾向某一端而已。在解释时应注意,正常人也具有神经质和精神质,高级神经的活动如果在不利因素影响下向病理方面发展,神经质可以发展成神经症,精神质可以发展成精神病。因此,神经质和精神质并不是病理的,不过有些精神病和罪犯是在前者的基础上发展来的。"; $firstRow = $startRow; $objActSheet->mergeCells('A' . $startRow . ':H' . ($startRow + 4)); $objActSheet->setCellValue('A' . $startRow, $string); $this->position($objActSheet, 'A' . $startRow, 'left'); $objActSheet->getStyle('A' . $startRow)->getAlignment()->setWrapText(true); $startRow += 4; $lastRow = $startRow; $startRow++; $objActSheet->getStyle('A' . $firstRow . ':H' . $lastRow)->applyFromArray($styleArray); $startRow += 8; $objActSheet->mergeCells("A" . $startRow . ":H" . $startRow); $objActSheet->setCellValue('A' . $startRow, '爱克森个性问卷成人 (EPQA) 结果剖析 '); $this->position($objActSheet, 'A' . $startRow); $objActSheet->getStyle('A' . $startRow)->getFont()->setBold(true); $startRow++; $filePath = WordChart::scatter_horiz_Graph_epqa_1($data, $examinee); $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setPath($filePath); $width = 14.48 * 39; $height = 5.48 * 39; $objDrawing->setWidthAndHeight($width, $height); $objDrawing->setCoordinates("A" . $startRow); $objDrawing->setWorksheet($objActSheet); $startRow += 12; //edit bruce_w 2015-12-9 分页打印 $filePath = WordChart::scatter_horiz_Graph_epqa_2($data, $examinee); $objDrawing1 = new PHPExcel_Worksheet_Drawing(); $objDrawing1->setPath($filePath); $width = 14.92 * 38; $height = 12.49 * 38; $objDrawing1->setWidthAndHeight($width, $height); $objDrawing1->setCoordinates("A" . $startRow); $objDrawing1->setWorksheet($objActSheet); }