NAME
Spreadsheet::Engine::Functions - Spreadsheet functions (SUM, MAX, etc)
SYNOPSIS
my $ok = calculate_function($fname, \@operand, \$errortext, \%typelookup, \%sheetdata);
DESCRIPTION
This provides all the spreadsheet functions (SUM, MAX, IRR, ISNULL, etc).
EXTENDING
register
Spreadsheet::Engine->register(SUM => 'Spreadsheet::Engine::Function::SUM');
If you wish to make a new function available you should register it here. A series of base classes are provided that do all the argument checking etc., allowing you to concentrate on the calculations. Have a look at how the existing functions are implemented for details (it should hopefully be mostly self-explanatory!)
information on how many arguments should be passed:
EXPORTS
calculate_function
my $ok = calculate_function($fname, \@operand, \$errortext, \%typelookup, \%sheetdata);
FUNCTION providers
dseries_functions
- DAVERAGE(databaserange, fieldname, criteriarange)
- DCOUNT(databaserange, fieldname, criteriarange)
- DCOUNTA(databaserange, fieldname, criteriarange)
- DGET(databaserange, fieldname, criteriarange)
- DMAX(databaserange, fieldname, criteriarange)
- DMIN(databaserange, fieldname, criteriarange)
- DPRODUCT(databaserange, fieldname, criteriarange)
- DSTDEV(databaserange, fieldname, criteriarange)
- DSTDEVP(databaserange, fieldname, criteriarange)
- DSUM(databaserange, fieldname, criteriarange)
- DVAR(databaserange, fieldname, criteriarange)
- DVARP(databaserange, fieldname, criteriarange)
index_function
countif_sumif_functions
columns_rows_function
text_function
- PLAINTEXT
html_function
- HTML
HELPERS
field_to_colnum
$colnum = field_to_colnum(\@sheetdata, $col1num, $ncols, $row1num, $fieldname, $fieldtype)
If fieldname is a number, uses it, otherwise looks up string in cells in row to find field number
If not found, returns 0.
HISTORY
This is a Modified Version of SocialCalc::Functions from SocialCalc 1.1.0
COPYRIGHT
Portions (c) Copyright 2005, 2006, 2007 Software Garden, Inc. All Rights Reserved.
Portions (c) Copyright 2007 Socialtext, Inc. All Rights Reserved.
Portions (c) Copyright 2007, 2008 Tony Bowden
LICENCE
The contents of this file are subject to the Artistic License 2.0; you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.perlfoundation.org/artistic_license_2_0