示例#1
0
 public function processRequest()
 {
     global $_SESSION;
     global $_REQUEST;
     $excelFormat = 'Excel2007';
     $fileExtension = 'xlsx';
     if (isset($_REQUEST[$this->name]) && isset($_REQUEST['filetype'])) {
         switch ($_REQUEST['filetype']) {
             case 'Excel2007':
                 $fileExtension = 'xlsx';
                 $excelFormat = 'Excel2007';
                 break;
             case 'Excel2003':
                 $fileExtension = 'xls';
                 $excelFormat = 'Excel5';
                 break;
             default:
             case 'csv':
                 $fileExtension = 'csv';
                 $excelFormat = 'CSV';
                 // all work here
                 $this->writeCSVFile($this->query, $this->filename . '.' . $fileExtension);
                 break;
             case 'AMC-exam':
                 $fileExtension = 'csv';
                 $excelFormat = 'CSV';
                 // all work here
                 $this->writeAMCFile($this->query, $this->filename . '.' . $fileExtension);
                 break;
             case 'PROGRESS-set':
                 $fileExtension = 'txt';
                 $excelFormat = 'CSV';
                 // all work here
                 $this->writeProgresFile($this->query, $this->filename . '.' . $fileExtension);
                 break;
         }
         require_once 'queryToXlsx.php';
         $student_encoding_relation = ' student_email s ';
         $xlsWriter = new XLSWriter($this->dbConn, $this->query);
         $xlsWriter->setFilename($this->filename . '.' . $fileExtension)->setTitle($this->title)->setLinkText($this->linkText)->setLinkUrl($this->url)->setAutoZebra($this->autoZebra)->setWeights($this->weights)->setWeightedSumsColumn($this->weightSumsColumn)->setFirstWeightColumn($this->firstWeightsColumn)->setExcelFormat($excelFormat);
         if (isset($this->rowparser)) {
             $xlsWriter->setRowParser($this->rowparser);
         }
         if (isset($this->rainBow)) {
             $xlsWriter->setRainBow($this->rainBow);
         }
         if ($this->colorChangerColumn >= 0) {
             $xlsWriter->setColorChangerColumn($this->colorChangerColumn);
         }
         $xlsWriter->writeXlsx($this->query);
         exit(0);
     }
 }