本文整理汇总了PHP中PHPExcel_Calculation_MathTrig::MMULT方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_Calculation_MathTrig::MMULT方法的具体用法?PHP PHPExcel_Calculation_MathTrig::MMULT怎么用?PHP PHPExcel_Calculation_MathTrig::MMULT使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPExcel_Calculation_MathTrig
的用法示例。
在下文中一共展示了PHPExcel_Calculation_MathTrig::MMULT方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createTrueFalseArrayAndProductArray
public function createTrueFalseArrayAndProductArray($objPHPExcel)
{
$firstSheet = $objPHPExcel->getSheet(0);
$richtigFalschWerte = new PHPExcel_Worksheet($objPHPExcel);
$richtigFalschWerte->setTitle('RichtigFalschWerte');
$objPHPExcel->addSheet($richtigFalschWerte);
$lastColumnRawData = $firstSheet->getHighestColumn();
$maxColumn = $lastColumnRawData;
$maxColumn++;
$anzahlTeilnehmer = $firstSheet->getCell('C4')->getValue();
//Erreichbare Punktzahl = $anzahlTeilnehmer + 12
$endrow = $anzahlTeilnehmer + 6;
$richtigFalschColumn = 'A';
for ($column = 'G'; $column != $maxColumn; $column++) {
$erreichbarePunkte = $firstSheet->getCell($column . ($anzahlTeilnehmer + 12))->getValue();
for ($row = 7; $row <= $endrow; $row++) {
if ($firstSheet->getCell($column . $row)->getCalculatedValue() >= 0.5 * (double) $erreichbarePunkte) {
$richtigFalschWerte->setCellValue($richtigFalschColumn . ($row - 6), 1);
} else {
$richtigFalschWerte->setCellValue($richtigFalschColumn . ($row - 6), 0);
}
}
$richtigFalschColumn++;
}
$lastColumnTrueFalseData = $richtigFalschWerte->getHighestColumn();
$lastRowTrueFalseData = $richtigFalschWerte->getHighestRow();
$summaryColumn = $lastColumnTrueFalseData;
$summaryColumn++;
for ($row = 1; $row <= $lastRowTrueFalseData; $row++) {
$richtigFalschWerte->setCellValue($summaryColumn . $row, '=SUM( A' . $row . ':' . $lastColumnTrueFalseData . $row . ')');
}
$richtigFalschWerte->setCellValue($summaryColumn . ($lastRowTrueFalseData + 1), '=AVERAGE(' . $summaryColumn . '1:' . $summaryColumn . $lastRowTrueFalseData . ')');
$richtigFalschWerte->setCellValue($summaryColumn . ($lastRowTrueFalseData + 2), '=VARP(' . $summaryColumn . '1:' . $summaryColumn . $lastRowTrueFalseData . ')');
$richtigFalschWerte->setCellValue($summaryColumn . ($lastRowTrueFalseData + 3), '=SQRT(' . $summaryColumn . ($lastRowTrueFalseData + 2) . ')');
$richtigFalschProdukte = new PHPExcel_Worksheet($objPHPExcel);
$richtigFalschProdukte->setTitle('RichtigFalsch Produkte');
$objPHPExcel->addSheet($richtigFalschProdukte);
$aufgabenwerte = $richtigFalschWerte->rangeToArray('A1:' . $lastColumnTrueFalseData . $lastRowTrueFalseData, 0, true, false);
//$produkteAufgaben->fromArray($aufgabenwerte, NULL, 'A1', true);
$transponierteAufgabenwerte = PHPExcel_Calculation_LookupRef::TRANSPOSE($aufgabenwerte);
$endmatrix = PHPExcel_Calculation_MathTrig::MMULT($transponierteAufgabenwerte, $aufgabenwerte);
$richtigFalschProdukte->fromArray($endmatrix, NULL, 'A1', true);
$lastColumnMMULTData = $richtigFalschProdukte->getHighestColumn();
$lastRowMMULTData = $richtigFalschProdukte->getHighestRow();
$maxColumn = $lastColumnMMULTData;
$maxColumn++;
$writeRow = $lastRowMMULTData + 2;
for ($column = 'A'; $column != $maxColumn; $column++) {
$cell = $richtigFalschProdukte->getCell($column . $writeRow);
$cell->setValue('=SUM(' . $column . '1:' . $column . $lastRowMMULTData . ')');
}
}