RayCraftDocs
v1.0.3 raycraft.dev
On this page

Spreadsheet

Complete

A full spreadsheet: formulas and functions, formatting, merged cells, frozen panes, charts, conditional formatting, data validation, several sheets, undo and redo, copy and paste, fill, sort, find and replace, and CSV, .xlsx and JSON files. The formula engine and the file code are part of RayCraft.Blazor.Office and have no third-party parts. _No live image: this control is described by text and the API table only._

Parameters

Rules colour cells by their values. Rules are checked in order; when two rules set the same property, the first one wins. A Formula rule is written for the top-left cell of its range and applies to every cell relative to it.

ParameterTypeDescription
RuleEffect
GreaterThan, GreaterOrEqual, LessThan, LessOrEqual, Equal, NotEqualColours cells that compare that way with the value (a number, text or =formula).
Between, NotBetweenColours cells inside or outside the two limits.
TextContains, TextNotContains, BeginsWith, EndsWithColours cells by their shown text, ignoring case.
Blank, NotBlank, ErrorColours empty cells, filled cells or cells showing an error.
Duplicate, UniqueColours values that appear more than once, or only once, in the range.
Top, BottomColours the highest or lowest numbers (default 10).
AboveAverage, BelowAverageColours numbers above or below the average of the range.
FormulaColours cells where the formula is true; references move with the cell.
ColorScaleFills numbers from one colour to another (Background = lowest, Color = highest, MidColor optional).
DataBarDraws a bar behind each number, as long as its share of the largest value (Background = bar colour).

Everything is reachable by keyboard and mouse, with the shortcuts people know from other spreadsheets.

ParameterTypeDescription
Keys or gestureWhat it does
Arrow keys, Tab, EnterMove the active cell (Shift reverses Tab and Enter)
Shift + arrows / click / dragExtend the selection
Ctrl + arrowsJump to the edge of a block of filled cells
Ctrl + Home / EndGo to A1 / the last used cell
Home, End, PageUp, PageDownRow start or end, page up or down
Ctrl + A, Ctrl + Space, Shift + SpaceSelect everything, the column or the row
Type, F2, double-clickEdit the cell (typing replaces its content, F2 keeps it)
Enter / Tab / Esc while editingAccept and move down or right / cancel
Delete, BackspaceClear the selected cells
Ctrl + C, X, VCopy, cut and paste; formulas keep their relative references, and text from other programs is pasted as values
Ctrl + Z, Ctrl + YUndo and redo (also Ctrl + Shift + Z)
Ctrl + B, I, UBold, italic, underline
Ctrl + D, Ctrl + RFill the selection down or right from its first row or column
Ctrl + FFind and replace
Drag the fill handleCopy a cell, continue a number series (1, 2 gives 3, 4...) or count up text such as Item 1
Click a column or row headerSelect the whole column or row; drag across headers to select several
Drag a header edge, double-click itResize a column or row, or reset it
Right-click a cell, a column or row header, or a chartContext menu with the commands that fit what you clicked
Click a chart, drag it, drag its corner, DeleteSelect, move, resize and remove a chart
Arrow next to a cell with a list ruleOpen the drop-down and pick a value
Name box (top left)Type A1 or B2:D9 to jump to a cell or range
F7, cell with a coloured cornerSpelling and grammar panel; right-click a marked cell for its corrections

The menu bar above the toolbar groups every command. Click a menu name (or move to it with the arrow keys) to open it; Left and Right switch between menus, Up and Down move through the entries, Right opens a submenu and Escape closes the menu. Right-click opens a context menu that fits what you clicked: a cell, a column header, a row header or a chart.

ParameterTypeDescription
MenuContents
FileImport a file; export as CSV, XLSX or JSON.
EditUndo, redo, cut, copy, paste, paste special (values or formatting only), select all, clear contents or formatting, find and replace.
ViewShow or hide the toolbar, formula bar, sheet tabs and status bar; freeze panes.
InsertRows and columns; open the chart, conditional formatting and data validation panels.
FormatBold, italic, underline, strikethrough; number format, alignment, wrap text, borders; merge cells; clear formatting.
DataSort, fill down and right, data validation, conditional formatting.
ReviewSpelling, grammar and formula checks.
SheetAdd, rename, delete and move the current sheet.

Operators and functions that take single values work on whole ranges and arrays, element by element: =SUMPRODUCT((A1:A5>2)*B1:B5), =SUM(IF(A1:A5>2,A1:A5,0)) or =TEXTJOIN(",",TRUE,IF(A1:A5>2,C1:C5,"")). A formula that produces several values (=A1:A5*2, =UPPER(C1:C5), =SORT(A1:A5), ={1,2,3}) fills the cells below or to the right and shows #SPILL! when one of them is not empty.

ParameterTypeDescription
GroupFunctions
MathABSSIGNSQRTPOWEREXPLNLOGLOG10MODQUOTIENTINTTRUNCROUNDROUNDUPROUNDDOWNCEILINGFLOOREVENODDFACTGCDLCMPIRANDRANDBETWEENSINCOSTANASINACOSATANATAN2DEGREESRADIANSSUMPRODUCTSUMSQSUMPRODUCTSINHCOSHTANHSQRTPIMROUNDCOMBINPERMUTSUBTOTAL
StatisticsAVERAGEMINMAXMEDIANMODECOUNTCOUNTACOUNTBLANKLARGESMALLRANKVARVARPSTDEVSTDEVPSUMIFSUMIFSCOUNTIFCOUNTIFSAVERAGEIFAVERAGEIFSMAXIFSMINIFSAVERAGEAPERCENTILEQUARTILECORRELSLOPEINTERCEPTFORECASTGEOMEANHARMEANAGGREGATE
LogicIFIFSIFERRORIFNASWITCHANDORXORNOTTRUEFALSE
TextLENUPPERLOWERPROPERTRIMCLEANLEFTRIGHTMIDCONCATCONCATENATETEXTJOINREPTSUBSTITUTEREPLACEFINDSEARCHEXACTVALUETEXTCHARCODETNTEXTBEFORETEXTAFTERNUMBERVALUEUNICODEUNICHAR
LookupVLOOKUPHLOOKUPINDEXMATCHCHOOSEROWCOLUMNROWSCOLUMNSINDIRECTLOOKUPXLOOKUPXMATCHOFFSETADDRESS
Date and timeTODAYNOWDATETIMEYEARMONTHDAYHOURMINUTESECONDWEEKDAYEDATEEOMONTHDAYSDATEDIFWEEKNUMISOWEEKNUMNETWORKDAYSWORKDAYDATEVALUE
Dynamic arraysSEQUENCETRANSPOSEUNIQUESORTSORTBYFILTER
FinancialPMTFVPVNPERNPVIRRRATESLN
Number bases and numeralsBIN2DECOCT2DECHEX2DECDEC2BINDEC2OCTDEC2HEXBASEDECIMALROMANARABIC
InformationISNUMBERISTEXTISNONTEXTISLOGICALISBLANKISERRORISERRISNAISEVENISODDNAERROR.TYPE
DistributionsNORM.DISTNORM.INVNORM.S.DISTNORM.S.INVPHIGAUSSLOGNORM.DISTLOGNORM.INVEXPON.DISTPOISSON.DISTBINOM.DISTBINOM.INVHYPGEOM.DISTNEGBINOM.DISTT.DISTT.DIST.2TT.DIST.RTT.INVT.INV.2TCHISQ.DISTCHISQ.DIST.RTCHISQ.INVCHISQ.INV.RTGAMMA.DISTGAMMA.INVWEIBULL.DISTBETA.DISTBETA.INVCONFIDENCE.NORMCONFIDENCE.TZ.TESTSTANDARDIZEFISHERFISHERINVERFERFCGAMMAGAMMALN
More statisticsAVEDEVDEVSQSKEWSKEW.PKURTSTDEVASTDEVPAVARAVARPAMAXAMINATRIMMEANRSQPEARSONSTEYXCOVARCOVARIANCE.PCOVARIANCE.SPERCENTRANKPERCENTRANK.EXCPERCENTILE.EXCQUARTILE.EXCRANK.AVGFREQUENCYMODE.MULTLINESTTRENDFORECAST.LINEAR
More financialIPMTPPMTCUMIPMTCUMPRINCISPMTEFFECTNOMINALRRIPDURATIONMIRRXNPVXIRRFVSCHEDULEDBDDBSYDDOLLARDEDOLLARFRDAYS360YEARFRAC
DatabaseDSUMDAVERAGEDCOUNTDCOUNTADGETDMAXDMINDPRODUCTDSTDEVDSTDEVPDVARDVARP
More arraysTAKEDROPCHOOSECOLSCHOOSEROWSVSTACKHSTACKTOCOLTOROWWRAPROWSWRAPCOLSEXPANDTEXTSPLITRANDARRAYMMULTMINVERSEMDETERMMUNIT
More math and informationACOSHASINHATANHCOTCOTHCSCCSCHSECSECHACOTACOTHCEILING.MATHFLOOR.MATHCEILING.PRECISEFLOOR.PRECISEFACTDOUBLEMULTINOMIALSERIESSUMSUMX2MY2SUMX2PY2SUMXMY2BITANDBITORBITXORBITLSHIFTBITRSHIFTDELTAGESTEPCOMBINAPERMUTATIONATYPEISFORMULAFORMULATEXTISREFAREASCELLSHEETSHEETSHYPERLINKDOLLARFIXEDENCODEURLTIMEVALUEVALUETOTEXT
LambdaLETLAMBDAMAPREDUCESCANBYROWBYCOLMAKEARRAY
EngineeringNETWORKDAYS.INTLWORKDAY.INTLCONVERTCOMPLEXIMREALIMAGINARYIMABSIMARGUMENTIMCONJUGATEIMSUMIMSUBIMPRODUCTIMDIVIMPOWERIMSQRTIMEXPIMLNIMSINIMCOSBIN2HEXBIN2OCTHEX2BINHEX2OCTOCT2BINOCT2HEX
OtherBINOMDISTCHIDISTCHIINVCONFIDENCECRITBINOMERF.PRECISEERFC.PRECISEEXPONDISTFINDBGAMMADISTGAMMAINVGAMMALN.PRECISEHYPGEOMDISTMODE.SNGLNORMDISTNORMINVNORMSDISTNORMSINVPERCENTILE.INCPERCENTRANK.INCPOISSONQUARTILE.INCRANK.EQSEARCHBSTDEV.PSTDEV.STDISTTINVVAR.PVAR.SWEIBULLZTEST

=A1+B1*2

ParameterTypeDescription
ErrorMeaning
#DIV/0!Division by zero.
#VALUE!A value has the wrong type, for example text where a number is needed.
#REF!A reference points to a cell that was deleted or to a sheet that does not exist.
#NAME?A function or name is not known.
#N/AA lookup found nothing.
#NUM!A number is not valid for the function, or the calculation is too deep.
#CIRC!The formula depends on itself.
#ERROR!The formula could not be understood.

API

ParameterTypeDescription
AllowFileTransferboolShows the import and export commands (default true).
AllowSheetChangesboolLets people add, rename and delete sheets (default true).
ClassstringExtra CSS classes added to the root element.
FileNamestringName given to exported files, without extension (default workbook).
HeightstringHeight of the whole control as a CSS length (default 34rem).
IgnoredWordsIReadOnlyCollection<string>Words that are never reported as misspelled.
LabelstringAccessible name of the grid. Defaults to a localized Spreadsheet.
MaxImportSizeInt64Largest file that can be imported, in bytes (default 5,000,000).
PdfFontsPdfFontSet
ProofAsYouTypeboolMarks cells with problems as the sheet changes (sheets of up to 50,000 filled cells); the user can switch it in the Review menu.
ProofingboolChecks spelling, grammar, formulas, numbers and totals: Review menu, toolbar button and F7 (default true).
ReadOnlyboolNo editing, but selecting, copying and exporting still work.
ShowFormulaBarboolShows the name box and the formula bar (default true).
ShowMenuBarboolShows the menu bar (default true).
ShowSheetTabsboolShows the sheet tabs (default true).
ShowStatusBarboolShows the status bar with Sum, Average, Count, Min and Max of the selection (default true).
ShowToolbarboolShows the formatting and editing toolbar (default true).
StylestringInline style added to the root element.
WorkbookWorkbookThe data to show and edit. Leave it out for a new empty workbook (read it back with GetWorkbook()).

Events

API

EventTypeDescription
OnChangedEventCallbackRaised after the workbook changed: an edit, undo or redo.
OnNewEventCallback
OnSaveEventCallback<OfficeFileSave>
OnSaveAsEventCallback<OfficeFileSave>
OnSelectionChangedEventCallback<CellRange>Raised when the selection moved.

Package

Spreadsheet is part of RayCraft Complete. Package: RayCraft.Blazor.Complete. It comes from the private RayCraft feed and needs an active license. See Getting started.