/**
  * generate export
  * 
  * @return string filename
  */
 public function generate()
 {
     $this->_createDocument();
     // build export table (use current table if using template)
     Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Creating export for ' . $this->_modelName . ' . ' . $this->_getDataTableName());
     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
         Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($this->_config->toArray(), TRUE));
     }
     $this->_spreadSheetObject = $this->_openDocumentObject->getBody();
     // append / use existing table
     if ($this->_spreadSheetObject->tableExists($this->_getDataTableName()) === true) {
         $this->_activeTable = $this->_spreadSheetObject->getTable($this->_getDataTableName());
     } else {
         $this->_activeTable = $this->_spreadSheetObject->appendTable($this->_getDataTableName());
     }
     $this->_setColumnStyles();
     // add header (disabled at the moment)
     if (isset($this->_config->header) && $this->_config->header) {
         $this->_addHead($this->_activeTable);
     }
     $this->_exportRecords();
     // create file
     $result = $this->_openDocumentObject->getDocument();
     return $result;
 }