Overview

Packages

  • JAMA
  • None
  • PHP
  • PHPExcel
    • CachedObjectStorage
    • Calculation
    • Cell
    • Chart
      • Renderer
    • Reader
      • Excel2007
      • Excel5
    • RichText
    • Settings
    • Shared
      • Escher
      • OLE
      • Trend
      • ZipArchive
    • Style
    • Worksheet
      • Drawing
    • Writer
      • 2007
      • CSV
      • Excel2007
      • Excel5
      • HTML
      • PDF

Classes

  • CholeskyDecomposition
  • Dao
  • DateTime
  • DateTimeZone
  • DOMNode
  • EigenvalueDecomposition
  • Elemento
  • Historial
  • Irradiacion
  • Latitud
  • MotorPhp
  • Panel
  • PclZip
  • Periodo
  • PHPExcel
  • PHPExcel_Autoloader
  • PHPExcel_Best_Fit
  • PHPExcel_CachedObjectStorage_APC
  • PHPExcel_CachedObjectStorage_CacheBase
  • PHPExcel_CachedObjectStorage_DiscISAM
  • PHPExcel_CachedObjectStorage_Igbinary
  • PHPExcel_CachedObjectStorage_Memcache
  • PHPExcel_CachedObjectStorage_Memory
  • PHPExcel_CachedObjectStorage_MemoryGZip
  • PHPExcel_CachedObjectStorage_MemorySerialized
  • PHPExcel_CachedObjectStorage_PHPTemp
  • PHPExcel_CachedObjectStorage_SQLite
  • PHPExcel_CachedObjectStorage_SQLite3
  • PHPExcel_CachedObjectStorage_Wincache
  • PHPExcel_CachedObjectStorageFactory
  • PHPExcel_CalcEngine_CyclicReferenceStack
  • PHPExcel_CalcEngine_Logger
  • PHPExcel_Calculation
  • PHPExcel_Calculation_Database
  • PHPExcel_Calculation_DateTime
  • PHPExcel_Calculation_Engineering
  • PHPExcel_Calculation_ExceptionHandler
  • PHPExcel_Calculation_Financial
  • PHPExcel_Calculation_FormulaParser
  • PHPExcel_Calculation_FormulaToken
  • PHPExcel_Calculation_Function
  • PHPExcel_Calculation_Functions
  • PHPExcel_Calculation_Logical
  • PHPExcel_Calculation_LookupRef
  • PHPExcel_Calculation_MathTrig
  • PHPExcel_Calculation_Statistical
  • PHPExcel_Calculation_TextData
  • PHPExcel_Calculation_Token_Stack
  • PHPExcel_Cell
  • PHPExcel_Cell_AdvancedValueBinder
  • PHPExcel_Cell_DataType
  • PHPExcel_Cell_DataValidation
  • PHPExcel_Cell_DefaultValueBinder
  • PHPExcel_Cell_Hyperlink
  • PHPExcel_Chart
  • PHPExcel_Chart_DataSeries
  • PHPExcel_Chart_DataSeriesValues
  • PHPExcel_Chart_Layout
  • PHPExcel_Chart_Legend
  • PHPExcel_Chart_PlotArea
  • PHPExcel_Chart_Renderer_jpgraph
  • PHPExcel_Chart_Title
  • PHPExcel_Comment
  • PHPExcel_DocumentProperties
  • PHPExcel_DocumentSecurity
  • PHPExcel_Exponential_Best_Fit
  • PHPExcel_HashTable
  • PHPExcel_IOFactory
  • PHPExcel_Linear_Best_Fit
  • PHPExcel_Logarithmic_Best_Fit
  • PHPExcel_NamedRange
  • PHPExcel_Polynomial_Best_Fit
  • PHPExcel_Power_Best_Fit
  • PHPExcel_Reader_Abstract
  • PHPExcel_Reader_CSV
  • PHPExcel_Reader_DefaultReadFilter
  • PHPExcel_Reader_Excel2003XML
  • PHPExcel_Reader_Excel2007
  • PHPExcel_Reader_Excel2007_Chart
  • PHPExcel_Reader_Excel2007_Theme
  • PHPExcel_Reader_Excel5
  • PHPExcel_Reader_Excel5_Escher
  • PHPExcel_Reader_Excel5_MD5
  • PHPExcel_Reader_Excel5_RC4
  • PHPExcel_Reader_Gnumeric
  • PHPExcel_Reader_HTML
  • PHPExcel_Reader_OOCalc
  • PHPExcel_Reader_SYLK
  • PHPExcel_ReferenceHelper
  • PHPExcel_RichText
  • PHPExcel_RichText_Run
  • PHPExcel_RichText_TextElement
  • PHPExcel_Settings
  • PHPExcel_Shared_CodePage
  • PHPExcel_Shared_Date
  • PHPExcel_Shared_Drawing
  • PHPExcel_Shared_Escher
  • PHPExcel_Shared_Escher_DgContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer
  • PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer
  • PHPExcel_Shared_Escher_DggContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE
  • PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip
  • PHPExcel_Shared_Excel5
  • PHPExcel_Shared_File
  • PHPExcel_Shared_Font
  • PHPExcel_Shared_JAMA_LUDecomposition
  • PHPExcel_Shared_JAMA_Matrix
  • PHPExcel_Shared_JAMA_QRDecomposition
  • PHPExcel_Shared_OLE
  • PHPExcel_Shared_OLE_ChainedBlockStream
  • PHPExcel_Shared_OLE_PPS
  • PHPExcel_Shared_OLE_PPS_File
  • PHPExcel_Shared_OLE_PPS_Root
  • PHPExcel_Shared_OLERead
  • PHPExcel_Shared_PasswordHasher
  • PHPExcel_Shared_String
  • PHPExcel_Shared_TimeZone
  • PHPExcel_Shared_XMLWriter
  • PHPExcel_Shared_ZipArchive
  • PHPExcel_Shared_ZipStreamWrapper
  • PHPExcel_Style
  • PHPExcel_Style_Alignment
  • PHPExcel_Style_Border
  • PHPExcel_Style_Borders
  • PHPExcel_Style_Color
  • PHPExcel_Style_Conditional
  • PHPExcel_Style_Fill
  • PHPExcel_Style_Font
  • PHPExcel_Style_NumberFormat
  • PHPExcel_Style_Protection
  • PHPExcel_Style_Supervisor
  • PHPExcel_Worksheet
  • PHPExcel_Worksheet_AutoFilter
  • PHPExcel_Worksheet_AutoFilter_Column
  • PHPExcel_Worksheet_AutoFilter_Column_Rule
  • PHPExcel_Worksheet_BaseDrawing
  • PHPExcel_Worksheet_CellIterator
  • PHPExcel_Worksheet_ColumnDimension
  • PHPExcel_Worksheet_Drawing
  • PHPExcel_Worksheet_Drawing_Shadow
  • PHPExcel_Worksheet_HeaderFooter
  • PHPExcel_Worksheet_HeaderFooterDrawing
  • PHPExcel_Worksheet_MemoryDrawing
  • PHPExcel_Worksheet_PageMargins
  • PHPExcel_Worksheet_PageSetup
  • PHPExcel_Worksheet_Protection
  • PHPExcel_Worksheet_Row
  • PHPExcel_Worksheet_RowDimension
  • PHPExcel_Worksheet_RowIterator
  • PHPExcel_Worksheet_SheetView
  • PHPExcel_WorksheetIterator
  • PHPExcel_Writer_Abstract
  • PHPExcel_Writer_CSV
  • PHPExcel_Writer_Excel2007
  • PHPExcel_Writer_Excel2007_Chart
  • PHPExcel_Writer_Excel2007_Comments
  • PHPExcel_Writer_Excel2007_ContentTypes
  • PHPExcel_Writer_Excel2007_DocProps
  • PHPExcel_Writer_Excel2007_Drawing
  • PHPExcel_Writer_Excel2007_Rels
  • PHPExcel_Writer_Excel2007_RelsRibbon
  • PHPExcel_Writer_Excel2007_RelsVBA
  • PHPExcel_Writer_Excel2007_StringTable
  • PHPExcel_Writer_Excel2007_Style
  • PHPExcel_Writer_Excel2007_Theme
  • PHPExcel_Writer_Excel2007_Workbook
  • PHPExcel_Writer_Excel2007_Worksheet
  • PHPExcel_Writer_Excel2007_WriterPart
  • PHPExcel_Writer_Excel5
  • PHPExcel_Writer_Excel5_BIFFwriter
  • PHPExcel_Writer_Excel5_Escher
  • PHPExcel_Writer_Excel5_Font
  • PHPExcel_Writer_Excel5_Parser
  • PHPExcel_Writer_Excel5_Workbook
  • PHPExcel_Writer_Excel5_Worksheet
  • PHPExcel_Writer_Excel5_Xf
  • PHPExcel_Writer_HTML
  • PHPExcel_Writer_PDF
  • PHPExcel_Writer_PDF_Core
  • PHPExcel_Writer_PDF_DomPDF
  • PHPExcel_Writer_PDF_mPDF
  • PHPExcel_Writer_PDF_tcPDF
  • Provincia
  • Radiacion
  • SingularValueDecomposition
  • Sistema
  • trendClass
  • xajax
  • xajaxArgumentManager
  • xajaxCallableObject
  • xajaxCallableObjectPlugin
  • xajaxControl
  • xajaxControlContainer
  • xajaxCustomRequest
  • xajaxCustomResponse
  • xajaxEvent
  • xajaxEventPlugin
  • xajaxFunctionPlugin
  • xajaxIncludeClientScriptPlugin
  • xajaxLanguageManager
  • xajaxPlugin
  • xajaxPluginManager
  • xajaxRequest
  • xajaxRequestPlugin
  • xajaxResponse
  • xajaxResponseManager
  • xajaxResponsePlugin
  • xajaxScriptPlugin
  • xajaxUserFunction
  • XMLWriter

Interfaces

  • DateTimeInterface
  • Iterator
  • PHPExcel_CachedObjectStorage_ICache
  • PHPExcel_Cell_IValueBinder
  • PHPExcel_IComparable
  • PHPExcel_Reader_IReader
  • PHPExcel_Reader_IReadFilter
  • PHPExcel_RichText_ITextElement
  • PHPExcel_Writer_IWriter
  • Throwable
  • Traversable

Exceptions

  • Exception
  • PHPExcel_Calculation_Exception
  • PHPExcel_Chart_Exception
  • PHPExcel_Exception
  • PHPExcel_Reader_Exception
  • PHPExcel_Writer_Exception

Functions

  • acosh
  • agregar_elemento
  • asinh
  • atanh
  • borrar_elementos
  • borrar_gdm_ab
  • borrar_irradiacion
  • borrar_latitud
  • borrar_panel
  • borrar_periodo
  • borrar_pmp_min_pmp_max
  • borrar_radiacion
  • borrar_resumen
  • borrar_sistema
  • borrar_sombra
  • gdm_ab
  • grabar_resumen
  • historial
  • hypo
  • irradiacion
  • JAMAError
  • latitud
  • limpiar_historial
  • login
  • mb_str_replace
  • mostrar_energia_total_ch
  • mostrar_panel_md_th
  • mostrar_panel_th
  • mostrar_radiacion_md_th
  • mostrar_radiacion_th
  • mostrar_resumen_th
  • panel
  • PclZipUtilCopyBlock
  • PclZipUtilOptionText
  • PclZipUtilPathInclusion
  • PclZipUtilPathReduction
  • PclZipUtilRename
  • PclZipUtilTranslateWinPath
  • periodo
  • pmp_min_pmp_max
  • preparar_panel
  • preparar_radiacion
  • preparar_radiacion_media
  • radiacion
  • resumen
  • sistema
  • sombra
  • xajaxCompressFile
  • xajaxErrorHandler
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Download
  1: <?php
  2: /**
  3:  * PHPExcel
  4:  *
  5:  * Copyright (c) 2006 - 2014 PHPExcel
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 20:  *
 21:  * @category    PHPExcel
 22:  * @package     PHPExcel_Calculation
 23:  * @copyright   Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 24:  * @license     http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt   LGPL
 25:  * @version     1.8.0, 2014-03-02
 26:  */
 27: 
 28: 
 29: /** PHPExcel root directory */
 30: if (!defined('PHPEXCEL_ROOT')) {
 31:     /**
 32:      * @ignore
 33:      */
 34:     define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
 35:     require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
 36: }
 37: 
 38: 
 39: /**
 40:  * PHPExcel_Calculation_Database
 41:  *
 42:  * @category    PHPExcel
 43:  * @package     PHPExcel_Calculation
 44:  * @copyright   Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
 45:  */
 46: class PHPExcel_Calculation_Database {
 47: 
 48: 
 49:     /**
 50:      * __fieldExtract
 51:      *
 52:      * Extracts the column ID to use for the data field.
 53:      *
 54:      * @access  private
 55:      * @param   mixed[]     $database       The range of cells that makes up the list or database.
 56:      *                                      A database is a list of related data in which rows of related
 57:      *                                      information are records, and columns of data are fields. The
 58:      *                                      first row of the list contains labels for each column.
 59:      * @param   mixed       $field          Indicates which column is used in the function. Enter the
 60:      *                                      column label enclosed between double quotation marks, such as
 61:      *                                      "Age" or "Yield," or a number (without quotation marks) that
 62:      *                                      represents the position of the column within the list: 1 for
 63:      *                                      the first column, 2 for the second column, and so on.
 64:      * @return  string|NULL
 65:      *
 66:      */
 67:     private static function __fieldExtract($database,$field) {
 68:         $field = strtoupper(PHPExcel_Calculation_Functions::flattenSingleValue($field));
 69:         $fieldNames = array_map('strtoupper',array_shift($database));
 70: 
 71:         if (is_numeric($field)) {
 72:             $keys = array_keys($fieldNames);
 73:             return $keys[$field-1];
 74:         }
 75:         $key = array_search($field,$fieldNames);
 76:         return ($key) ? $key : NULL;
 77:     }
 78: 
 79:     /**
 80:      * __filter
 81:      *
 82:      * Parses the selection criteria, extracts the database rows that match those criteria, and
 83:      * returns that subset of rows.
 84:      *
 85:      * @access  private
 86:      * @param   mixed[]     $database       The range of cells that makes up the list or database.
 87:      *                                      A database is a list of related data in which rows of related
 88:      *                                      information are records, and columns of data are fields. The
 89:      *                                      first row of the list contains labels for each column.
 90:      * @param   mixed[]     $criteria       The range of cells that contains the conditions you specify.
 91:      *                                      You can use any range for the criteria argument, as long as it
 92:      *                                      includes at least one column label and at least one cell below
 93:      *                                      the column label in which you specify a condition for the
 94:      *                                      column.
 95:      * @return  array of mixed
 96:      *
 97:      */
 98:     private static function __filter($database,$criteria) {
 99:         $fieldNames = array_shift($database);
100:         $criteriaNames = array_shift($criteria);
101: 
102:         //  Convert the criteria into a set of AND/OR conditions with [:placeholders]
103:         $testConditions = $testValues = array();
104:         $testConditionsCount = 0;
105:         foreach($criteriaNames as $key => $criteriaName) {
106:             $testCondition = array();
107:             $testConditionCount = 0;
108:             foreach($criteria as $row => $criterion) {
109:                 if ($criterion[$key] > '') {
110:                     $testCondition[] = '[:'.$criteriaName.']'.PHPExcel_Calculation_Functions::_ifCondition($criterion[$key]);
111:                     $testConditionCount++;
112:                 }
113:             }
114:             if ($testConditionCount > 1) {
115:                 $testConditions[] = 'OR('.implode(',',$testCondition).')';
116:                 $testConditionsCount++;
117:             } elseif($testConditionCount == 1) {
118:                 $testConditions[] = $testCondition[0];
119:                 $testConditionsCount++;
120:             }
121:         }
122: 
123:         if ($testConditionsCount > 1) {
124:             $testConditionSet = 'AND('.implode(',',$testConditions).')';
125:         } elseif($testConditionsCount == 1) {
126:             $testConditionSet = $testConditions[0];
127:         }
128: 
129:         //  Loop through each row of the database
130:         foreach($database as $dataRow => $dataValues) {
131:             //  Substitute actual values from the database row for our [:placeholders]
132:             $testConditionList = $testConditionSet;
133:             foreach($criteriaNames as $key => $criteriaName) {
134:                 $k = array_search($criteriaName,$fieldNames);
135:                 if (isset($dataValues[$k])) {
136:                     $dataValue = $dataValues[$k];
137:                     $dataValue = (is_string($dataValue)) ? PHPExcel_Calculation::_wrapResult(strtoupper($dataValue)) : $dataValue;
138:                     $testConditionList = str_replace('[:'.$criteriaName.']',$dataValue,$testConditionList);
139:                 }
140:             }
141:             //  evaluate the criteria against the row data
142:             $result = PHPExcel_Calculation::getInstance()->_calculateFormulaValue('='.$testConditionList);
143:             //  If the row failed to meet the criteria, remove it from the database
144:             if (!$result) {
145:                 unset($database[$dataRow]);
146:             }
147:         }
148: 
149:         return $database;
150:     }
151: 
152: 
153:     /**
154:      * DAVERAGE
155:      *
156:      * Averages the values in a column of a list or database that match conditions you specify.
157:      *
158:      * Excel Function:
159:      *      DAVERAGE(database,field,criteria)
160:      *
161:      * @access  public
162:      * @category Database Functions
163:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
164:      *                                      A database is a list of related data in which rows of related
165:      *                                      information are records, and columns of data are fields. The
166:      *                                      first row of the list contains labels for each column.
167:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
168:      *                                      column label enclosed between double quotation marks, such as
169:      *                                      "Age" or "Yield," or a number (without quotation marks) that
170:      *                                      represents the position of the column within the list: 1 for
171:      *                                      the first column, 2 for the second column, and so on.
172:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
173:      *                                      You can use any range for the criteria argument, as long as it
174:      *                                      includes at least one column label and at least one cell below
175:      *                                      the column label in which you specify a condition for the
176:      *                                      column.
177:      * @return  float
178:      *
179:      */
180:     public static function DAVERAGE($database,$field,$criteria) {
181:         $field = self::__fieldExtract($database,$field);
182:         if (is_null($field)) {
183:             return NULL;
184:         }
185:         //  reduce the database to a set of rows that match all the criteria
186:         $database = self::__filter($database,$criteria);
187:         //  extract an array of values for the requested column
188:         $colData = array();
189:         foreach($database as $row) {
190:             $colData[] = $row[$field];
191:         }
192: 
193:         // Return
194:         return PHPExcel_Calculation_Statistical::AVERAGE($colData);
195:     }   //  function DAVERAGE()
196: 
197: 
198:     /**
199:      * DCOUNT
200:      *
201:      * Counts the cells that contain numbers in a column of a list or database that match conditions
202:      * that you specify.
203:      *
204:      * Excel Function:
205:      *      DCOUNT(database,[field],criteria)
206:      *
207:      * Excel Function:
208:      *      DAVERAGE(database,field,criteria)
209:      *
210:      * @access  public
211:      * @category Database Functions
212:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
213:      *                                      A database is a list of related data in which rows of related
214:      *                                      information are records, and columns of data are fields. The
215:      *                                      first row of the list contains labels for each column.
216:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
217:      *                                      column label enclosed between double quotation marks, such as
218:      *                                      "Age" or "Yield," or a number (without quotation marks) that
219:      *                                      represents the position of the column within the list: 1 for
220:      *                                      the first column, 2 for the second column, and so on.
221:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
222:      *                                      You can use any range for the criteria argument, as long as it
223:      *                                      includes at least one column label and at least one cell below
224:      *                                      the column label in which you specify a condition for the
225:      *                                      column.
226:      * @return  integer
227:      *
228:      * @TODO    The field argument is optional. If field is omitted, DCOUNT counts all records in the
229:      *          database that match the criteria.
230:      *
231:      */
232:     public static function DCOUNT($database,$field,$criteria) {
233:         $field = self::__fieldExtract($database,$field);
234:         if (is_null($field)) {
235:             return NULL;
236:         }
237: 
238:         //  reduce the database to a set of rows that match all the criteria
239:         $database = self::__filter($database,$criteria);
240:         //  extract an array of values for the requested column
241:         $colData = array();
242:         foreach($database as $row) {
243:             $colData[] = $row[$field];
244:         }
245: 
246:         // Return
247:         return PHPExcel_Calculation_Statistical::COUNT($colData);
248:     }   //  function DCOUNT()
249: 
250: 
251:     /**
252:      * DCOUNTA
253:      *
254:      * Counts the nonblank cells in a column of a list or database that match conditions that you specify.
255:      *
256:      * Excel Function:
257:      *      DCOUNTA(database,[field],criteria)
258:      *
259:      * @access  public
260:      * @category Database Functions
261:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
262:      *                                      A database is a list of related data in which rows of related
263:      *                                      information are records, and columns of data are fields. The
264:      *                                      first row of the list contains labels for each column.
265:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
266:      *                                      column label enclosed between double quotation marks, such as
267:      *                                      "Age" or "Yield," or a number (without quotation marks) that
268:      *                                      represents the position of the column within the list: 1 for
269:      *                                      the first column, 2 for the second column, and so on.
270:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
271:      *                                      You can use any range for the criteria argument, as long as it
272:      *                                      includes at least one column label and at least one cell below
273:      *                                      the column label in which you specify a condition for the
274:      *                                      column.
275:      * @return  integer
276:      *
277:      * @TODO    The field argument is optional. If field is omitted, DCOUNTA counts all records in the
278:      *          database that match the criteria.
279:      *
280:      */
281:     public static function DCOUNTA($database,$field,$criteria) {
282:         $field = self::__fieldExtract($database,$field);
283:         if (is_null($field)) {
284:             return NULL;
285:         }
286: 
287:         //  reduce the database to a set of rows that match all the criteria
288:         $database = self::__filter($database,$criteria);
289:         //  extract an array of values for the requested column
290:         $colData = array();
291:         foreach($database as $row) {
292:             $colData[] = $row[$field];
293:         }
294: 
295:         // Return
296:         return PHPExcel_Calculation_Statistical::COUNTA($colData);
297:     }   //  function DCOUNTA()
298: 
299: 
300:     /**
301:      * DGET
302:      *
303:      * Extracts a single value from a column of a list or database that matches conditions that you
304:      * specify.
305:      *
306:      * Excel Function:
307:      *      DGET(database,field,criteria)
308:      *
309:      * @access  public
310:      * @category Database Functions
311:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
312:      *                                      A database is a list of related data in which rows of related
313:      *                                      information are records, and columns of data are fields. The
314:      *                                      first row of the list contains labels for each column.
315:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
316:      *                                      column label enclosed between double quotation marks, such as
317:      *                                      "Age" or "Yield," or a number (without quotation marks) that
318:      *                                      represents the position of the column within the list: 1 for
319:      *                                      the first column, 2 for the second column, and so on.
320:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
321:      *                                      You can use any range for the criteria argument, as long as it
322:      *                                      includes at least one column label and at least one cell below
323:      *                                      the column label in which you specify a condition for the
324:      *                                      column.
325:      * @return  mixed
326:      *
327:      */
328:     public static function DGET($database,$field,$criteria) {
329:         $field = self::__fieldExtract($database,$field);
330:         if (is_null($field)) {
331:             return NULL;
332:         }
333: 
334:         //  reduce the database to a set of rows that match all the criteria
335:         $database = self::__filter($database,$criteria);
336:         //  extract an array of values for the requested column
337:         $colData = array();
338:         foreach($database as $row) {
339:             $colData[] = $row[$field];
340:         }
341: 
342:         // Return
343:         if (count($colData) > 1) {
344:             return PHPExcel_Calculation_Functions::NaN();
345:         }
346: 
347:         return $colData[0];
348:     }   //  function DGET()
349: 
350: 
351:     /**
352:      * DMAX
353:      *
354:      * Returns the largest number in a column of a list or database that matches conditions you that
355:      * specify.
356:      *
357:      * Excel Function:
358:      *      DMAX(database,field,criteria)
359:      *
360:      * @access  public
361:      * @category Database Functions
362:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
363:      *                                      A database is a list of related data in which rows of related
364:      *                                      information are records, and columns of data are fields. The
365:      *                                      first row of the list contains labels for each column.
366:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
367:      *                                      column label enclosed between double quotation marks, such as
368:      *                                      "Age" or "Yield," or a number (without quotation marks) that
369:      *                                      represents the position of the column within the list: 1 for
370:      *                                      the first column, 2 for the second column, and so on.
371:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
372:      *                                      You can use any range for the criteria argument, as long as it
373:      *                                      includes at least one column label and at least one cell below
374:      *                                      the column label in which you specify a condition for the
375:      *                                      column.
376:      * @return  float
377:      *
378:      */
379:     public static function DMAX($database,$field,$criteria) {
380:         $field = self::__fieldExtract($database,$field);
381:         if (is_null($field)) {
382:             return NULL;
383:         }
384: 
385:         //  reduce the database to a set of rows that match all the criteria
386:         $database = self::__filter($database,$criteria);
387:         //  extract an array of values for the requested column
388:         $colData = array();
389:         foreach($database as $row) {
390:             $colData[] = $row[$field];
391:         }
392: 
393:         // Return
394:         return PHPExcel_Calculation_Statistical::MAX($colData);
395:     }   //  function DMAX()
396: 
397: 
398:     /**
399:      * DMIN
400:      *
401:      * Returns the smallest number in a column of a list or database that matches conditions you that
402:      * specify.
403:      *
404:      * Excel Function:
405:      *      DMIN(database,field,criteria)
406:      *
407:      * @access  public
408:      * @category Database Functions
409:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
410:      *                                      A database is a list of related data in which rows of related
411:      *                                      information are records, and columns of data are fields. The
412:      *                                      first row of the list contains labels for each column.
413:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
414:      *                                      column label enclosed between double quotation marks, such as
415:      *                                      "Age" or "Yield," or a number (without quotation marks) that
416:      *                                      represents the position of the column within the list: 1 for
417:      *                                      the first column, 2 for the second column, and so on.
418:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
419:      *                                      You can use any range for the criteria argument, as long as it
420:      *                                      includes at least one column label and at least one cell below
421:      *                                      the column label in which you specify a condition for the
422:      *                                      column.
423:      * @return  float
424:      *
425:      */
426:     public static function DMIN($database,$field,$criteria) {
427:         $field = self::__fieldExtract($database,$field);
428:         if (is_null($field)) {
429:             return NULL;
430:         }
431: 
432:         //  reduce the database to a set of rows that match all the criteria
433:         $database = self::__filter($database,$criteria);
434:         //  extract an array of values for the requested column
435:         $colData = array();
436:         foreach($database as $row) {
437:             $colData[] = $row[$field];
438:         }
439: 
440:         // Return
441:         return PHPExcel_Calculation_Statistical::MIN($colData);
442:     }   //  function DMIN()
443: 
444: 
445:     /**
446:      * DPRODUCT
447:      *
448:      * Multiplies the values in a column of a list or database that match conditions that you specify.
449:      *
450:      * Excel Function:
451:      *      DPRODUCT(database,field,criteria)
452:      *
453:      * @access  public
454:      * @category Database Functions
455:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
456:      *                                      A database is a list of related data in which rows of related
457:      *                                      information are records, and columns of data are fields. The
458:      *                                      first row of the list contains labels for each column.
459:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
460:      *                                      column label enclosed between double quotation marks, such as
461:      *                                      "Age" or "Yield," or a number (without quotation marks) that
462:      *                                      represents the position of the column within the list: 1 for
463:      *                                      the first column, 2 for the second column, and so on.
464:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
465:      *                                      You can use any range for the criteria argument, as long as it
466:      *                                      includes at least one column label and at least one cell below
467:      *                                      the column label in which you specify a condition for the
468:      *                                      column.
469:      * @return  float
470:      *
471:      */
472:     public static function DPRODUCT($database,$field,$criteria) {
473:         $field = self::__fieldExtract($database,$field);
474:         if (is_null($field)) {
475:             return NULL;
476:         }
477: 
478:         //  reduce the database to a set of rows that match all the criteria
479:         $database = self::__filter($database,$criteria);
480:         //  extract an array of values for the requested column
481:         $colData = array();
482:         foreach($database as $row) {
483:             $colData[] = $row[$field];
484:         }
485: 
486:         // Return
487:         return PHPExcel_Calculation_MathTrig::PRODUCT($colData);
488:     }   //  function DPRODUCT()
489: 
490: 
491:     /**
492:      * DSTDEV
493:      *
494:      * Estimates the standard deviation of a population based on a sample by using the numbers in a
495:      * column of a list or database that match conditions that you specify.
496:      *
497:      * Excel Function:
498:      *      DSTDEV(database,field,criteria)
499:      *
500:      * @access  public
501:      * @category Database Functions
502:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
503:      *                                      A database is a list of related data in which rows of related
504:      *                                      information are records, and columns of data are fields. The
505:      *                                      first row of the list contains labels for each column.
506:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
507:      *                                      column label enclosed between double quotation marks, such as
508:      *                                      "Age" or "Yield," or a number (without quotation marks) that
509:      *                                      represents the position of the column within the list: 1 for
510:      *                                      the first column, 2 for the second column, and so on.
511:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
512:      *                                      You can use any range for the criteria argument, as long as it
513:      *                                      includes at least one column label and at least one cell below
514:      *                                      the column label in which you specify a condition for the
515:      *                                      column.
516:      * @return  float
517:      *
518:      */
519:     public static function DSTDEV($database,$field,$criteria) {
520:         $field = self::__fieldExtract($database,$field);
521:         if (is_null($field)) {
522:             return NULL;
523:         }
524: 
525:         //  reduce the database to a set of rows that match all the criteria
526:         $database = self::__filter($database,$criteria);
527:         //  extract an array of values for the requested column
528:         $colData = array();
529:         foreach($database as $row) {
530:             $colData[] = $row[$field];
531:         }
532: 
533:         // Return
534:         return PHPExcel_Calculation_Statistical::STDEV($colData);
535:     }   //  function DSTDEV()
536: 
537: 
538:     /**
539:      * DSTDEVP
540:      *
541:      * Calculates the standard deviation of a population based on the entire population by using the
542:      * numbers in a column of a list or database that match conditions that you specify.
543:      *
544:      * Excel Function:
545:      *      DSTDEVP(database,field,criteria)
546:      *
547:      * @access  public
548:      * @category Database Functions
549:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
550:      *                                      A database is a list of related data in which rows of related
551:      *                                      information are records, and columns of data are fields. The
552:      *                                      first row of the list contains labels for each column.
553:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
554:      *                                      column label enclosed between double quotation marks, such as
555:      *                                      "Age" or "Yield," or a number (without quotation marks) that
556:      *                                      represents the position of the column within the list: 1 for
557:      *                                      the first column, 2 for the second column, and so on.
558:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
559:      *                                      You can use any range for the criteria argument, as long as it
560:      *                                      includes at least one column label and at least one cell below
561:      *                                      the column label in which you specify a condition for the
562:      *                                      column.
563:      * @return  float
564:      *
565:      */
566:     public static function DSTDEVP($database,$field,$criteria) {
567:         $field = self::__fieldExtract($database,$field);
568:         if (is_null($field)) {
569:             return NULL;
570:         }
571: 
572:         //  reduce the database to a set of rows that match all the criteria
573:         $database = self::__filter($database,$criteria);
574:         //  extract an array of values for the requested column
575:         $colData = array();
576:         foreach($database as $row) {
577:             $colData[] = $row[$field];
578:         }
579: 
580:         // Return
581:         return PHPExcel_Calculation_Statistical::STDEVP($colData);
582:     }   //  function DSTDEVP()
583: 
584: 
585:     /**
586:      * DSUM
587:      *
588:      * Adds the numbers in a column of a list or database that match conditions that you specify.
589:      *
590:      * Excel Function:
591:      *      DSUM(database,field,criteria)
592:      *
593:      * @access  public
594:      * @category Database Functions
595:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
596:      *                                      A database is a list of related data in which rows of related
597:      *                                      information are records, and columns of data are fields. The
598:      *                                      first row of the list contains labels for each column.
599:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
600:      *                                      column label enclosed between double quotation marks, such as
601:      *                                      "Age" or "Yield," or a number (without quotation marks) that
602:      *                                      represents the position of the column within the list: 1 for
603:      *                                      the first column, 2 for the second column, and so on.
604:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
605:      *                                      You can use any range for the criteria argument, as long as it
606:      *                                      includes at least one column label and at least one cell below
607:      *                                      the column label in which you specify a condition for the
608:      *                                      column.
609:      * @return  float
610:      *
611:      */
612:     public static function DSUM($database,$field,$criteria) {
613:         $field = self::__fieldExtract($database,$field);
614:         if (is_null($field)) {
615:             return NULL;
616:         }
617: 
618:         //  reduce the database to a set of rows that match all the criteria
619:         $database = self::__filter($database,$criteria);
620:         //  extract an array of values for the requested column
621:         $colData = array();
622:         foreach($database as $row) {
623:             $colData[] = $row[$field];
624:         }
625: 
626:         // Return
627:         return PHPExcel_Calculation_MathTrig::SUM($colData);
628:     }   //  function DSUM()
629: 
630: 
631:     /**
632:      * DVAR
633:      *
634:      * Estimates the variance of a population based on a sample by using the numbers in a column
635:      * of a list or database that match conditions that you specify.
636:      *
637:      * Excel Function:
638:      *      DVAR(database,field,criteria)
639:      *
640:      * @access  public
641:      * @category Database Functions
642:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
643:      *                                      A database is a list of related data in which rows of related
644:      *                                      information are records, and columns of data are fields. The
645:      *                                      first row of the list contains labels for each column.
646:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
647:      *                                      column label enclosed between double quotation marks, such as
648:      *                                      "Age" or "Yield," or a number (without quotation marks) that
649:      *                                      represents the position of the column within the list: 1 for
650:      *                                      the first column, 2 for the second column, and so on.
651:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
652:      *                                      You can use any range for the criteria argument, as long as it
653:      *                                      includes at least one column label and at least one cell below
654:      *                                      the column label in which you specify a condition for the
655:      *                                      column.
656:      * @return  float
657:      *
658:      */
659:     public static function DVAR($database,$field,$criteria) {
660:         $field = self::__fieldExtract($database,$field);
661:         if (is_null($field)) {
662:             return NULL;
663:         }
664: 
665:         //  reduce the database to a set of rows that match all the criteria
666:         $database = self::__filter($database,$criteria);
667:         //  extract an array of values for the requested column
668:         $colData = array();
669:         foreach($database as $row) {
670:             $colData[] = $row[$field];
671:         }
672: 
673:         // Return
674:         return PHPExcel_Calculation_Statistical::VARFunc($colData);
675:     }   //  function DVAR()
676: 
677: 
678:     /**
679:      * DVARP
680:      *
681:      * Calculates the variance of a population based on the entire population by using the numbers
682:      * in a column of a list or database that match conditions that you specify.
683:      *
684:      * Excel Function:
685:      *      DVARP(database,field,criteria)
686:      *
687:      * @access  public
688:      * @category Database Functions
689:      * @param   mixed[]         $database   The range of cells that makes up the list or database.
690:      *                                      A database is a list of related data in which rows of related
691:      *                                      information are records, and columns of data are fields. The
692:      *                                      first row of the list contains labels for each column.
693:      * @param   string|integer  $field      Indicates which column is used in the function. Enter the
694:      *                                      column label enclosed between double quotation marks, such as
695:      *                                      "Age" or "Yield," or a number (without quotation marks) that
696:      *                                      represents the position of the column within the list: 1 for
697:      *                                      the first column, 2 for the second column, and so on.
698:      * @param   mixed[]         $criteria   The range of cells that contains the conditions you specify.
699:      *                                      You can use any range for the criteria argument, as long as it
700:      *                                      includes at least one column label and at least one cell below
701:      *                                      the column label in which you specify a condition for the
702:      *                                      column.
703:      * @return  float
704:      *
705:      */
706:     public static function DVARP($database,$field,$criteria) {
707:         $field = self::__fieldExtract($database,$field);
708:         if (is_null($field)) {
709:             return NULL;
710:         }
711: 
712:         //  reduce the database to a set of rows that match all the criteria
713:         $database = self::__filter($database,$criteria);
714:         //  extract an array of values for the requested column
715:         $colData = array();
716:         foreach($database as $row) {
717:             $colData[] = $row[$field];
718:         }
719: 
720:         // Return
721:         return PHPExcel_Calculation_Statistical::VARP($colData);
722:     }   //  function DVARP()
723: 
724: 
725: }   //  class PHPExcel_Calculation_Database
726: 
Autene API documentation generated by ApiGen