TEXT in Calligra Sheets: Convert Values to Strings
Learn Calligra Sheets TEXT syntax, reproducible number-to-text examples and a critical difference from Excel TEXT formatting.
Verification status: Official documentation referenced; example outcomes independently reasoned or arithmetically checked where stated. Not executed in Calligra Sheets. How formula examples are checked
Quick answer: =TEXT(1234.56) is documented to return the string “1234.56” in an English-decimal locale; =TEXT("KSpread") returns “KSpread”. The KDE manual calls TEXT a value-to-text converter. It is not safe to assume it performs Excel-style number formatting. In the exact Calligra 26.08.2 implementation, only the first argument is read and passed to a string converter.
Version and validation scope: Registered in the official Calligra 26.08.2 release, published 2026-10-08. The shipped help, function registration and implementation were inspected at immutable KDE commit 72123cc643f6625351139e7df294544255a1056f, accessed 2026-10-12. Examples below are either officially documented or source-derived expected results in an English locale. Calligra itself was not executed.
Purpose: preserve a value as text
Use TEXT when an imported number, a computed value or a text value needs to enter a text-processing pipeline. Unlike T(value), TEXT applies the spreadsheet converter to the first argument; it does not intentionally suppress numeric values. For example, a numeric quantity in A2 can be passed through =TEXT(A2) to get a string suitable for concatenation or text inspection. Be careful: the actual display spelling of numbers or dates may depend on locale and value-conversion rules. Converting a number to text does not recreate lost leading zeros or an original import representation.
Exact officially documented syntax
=TEXT(value)
| Argument | Status | XML type | Meaning | Default |
|---|---|---|---|---|
value |
Required | Any | Value or reference to convert to a string | None |
The 26.08.2 help XML declares one Any parameter and shows exactly TEXT(value). This is the documented public interface in the English handbook. The source registration, however, calls setParamCount(1, 2) for TEXT, admitting one or two arguments. Its implementation reads only args[0]; it never reads args[1]. This is an explicit documentation/registration/implementation discrepancy:
- Supported/documented teaching syntax: use
TEXT(value)with one argument. - Additional C++ arity accepted: the dispatcher allows a second parameter, but the function body does not apply a formatting instruction from it. Its purpose and type are not documented in the shipped XML.
- Do not teach
TEXT(number; "format")as an Excel-compatible formatting tool. Whether an actual local build exposes any wrapper changes is native-untested. The current pinned C++ implementation ignores the second argument.
English Calligra formulas use a semicolon between operands when needed (=TEXT(12.5;"0.00") is a diagnostic illustration, not recommended production syntax). . is used in English-decimal examples; another locale may show or require a comma. Avoid asserting an exact text spelling for dates, currencies, booleans or floating point edge cases without native locale tests.
Reproducible worksheet experiment
Enter the following inputs in A2:A6, taking care to distinguish quoted/text data from numeric cells. Enter =TEXT(A2) in B2 and fill down. Check whether the output is text (for example with a separate documented type test), not merely that it visually resembles A2.
| Cell | A input | Data type | Formula in B | Expected English-locale text |
|---|---|---|---|---|
| A2 | 1234.56 | Number | =TEXT(A2) |
1234.56 (official source example) |
| A3 | 12 | Number | =TEXT(A3) |
12 |
| A4 | 0 | Number | =TEXT(A4) |
0 |
| A5 | KSpread | Text | =TEXT(A5) |
KSpread (official source example) |
| A6 | 007, entered/stored as text | Text | =TEXT(A6) |
007 |
If A6 is stored as the number 7 and only displayed with leading zeros, its string representation can instead be 7. TEXT does not promise to recover a text identifier from the original import. Results are expected, not observed native outputs.
Examples and important boundaries
| Formula | Source-derived expected result | Check |
|---|---|---|
=TEXT(1234.56) |
1234.56 (text) |
KDE’s English-language XML example |
=TEXT("KSpread") |
KSpread |
KDE’s XML example |
=TEXT(12) |
12 (text) |
English integer string conversion |
=TEXT(0) |
0 (text) |
Zero is represented rather than suppressed |
=TEXT("007") |
007 |
Existing text retains the characters |
=TEXT(12.5) |
12.5 (text) |
English decimal convention; locale-sensitive |
=TEXT(LEFT("KDE2026";3)) |
KDE |
LEFT returns text first |
=TEXT(4+6) |
10 (text) |
Independent arithmetic, then conversion |
=TEXT("Alpha";"000") |
Alpha |
Pinned dispatcher admits 2; pinned C++ reads only first; native-untested |
These text representations are expected in an English-decimal environment; they are not guaranteed in every installation. No first-party native test or specific error-cell display was observed.
Advanced applications
Safely concatenate a numeric value into a label
With A2 as an integer quantity 12, the formula =CONCATENATE("Units: ";TEXT(A2)) is expected to produce Units: 12. This demonstrates the motivation for text conversion. A semicolon separates arguments in the official CONCATENATE syntax.
Build a text identifier from a counted value
With B2 as numeric batch number 42, =CONCATENATE("B-";TEXT(B2)) is expected to produce B-42. If a four-digit identifier is required (B-0042), TEXT in this Calligra version is not established as a formatting/padding tool. Design and verify a padding expression or data-import rule separately; never claim that Excel’s TEXT(42,"0000") formatting semantics are present in this C++ code.
Contrast TEXT with the T function
For numeric input A2 = 12, =TEXT(A2) is expected to return text 12, whereas =T(A2) is expected to return empty text. Both are registered by the same pinned text module but their implementations take different branches. This difference is especially important when migrating an Excel formula or converting values before string concatenation.
Inspect a suspicious imported field
Suppose cell A2 visually shows 007. Re-enter the field with text data type, then compare =TEXT(A2) with =T(A2). If T returns empty, the value probably is not stored as text. This is a conceptual type diagnostic, not a promise that both functions recognize every application-specific cell type or error case the same way.
Troubleshooting and limits
- A
"0.00"formatting string has no effect: the pinnedfunc_textreadsargs[0]only, even though the dispatcher permits two parameters. Follow the one-parameter documentation; do not silently port ExcelTEXTformatting. 12.5appears as12,5or another representation: locale and converter settings can affect decimal strings. The XML example is English. Check locale, storage type, and installed version.- A date serial appears instead of a friendly date: the pinned XML does not promise date formatting; test an actual date value and use a correctly supported formatting mechanism for display.
- An imported
007turns into7: the data may already have been parsed as numeric. Preserving original identifiers requires a text import or explicit text storage. - An error in the argument: the displayed error and propagation are not established by merely examining
func_text’s few lines; verify in the target application’s spreadsheet engine rather than inventing a return string. - Version/edition mismatch: installed distribution packages may lag the pinned KDE source; Windows support differs by package. This article refers to the 26.08.2 source contract, not every deployment.
The source implementation does not document character limits, rounding policy for all floating-point input, a format language, locale-specific date patterns or a default second argument; do not infer these from Excel. Function registration and XML presence are not native execution evidence.
Excel and LibreOffice differences: especially important
Microsoft’s Excel TEXT reference documents TEXT(value, format_text) and applies a required format string. LibreOffice Calc’s TEXT help likewise documents a formatting-operand form (TEXT(Value; Format)). In contrast, Calligra’s public TEXT handbook shows TEXT(value), while its 26.08.2 code admits but ignores a second argument. A worksheet imported from Excel or LibreOffice can therefore lose intended formatting semantics. Review formatting-sensitive formulas before relying on the output; compare actual native results for relevant source and destination versions.
This is a specific, source-supported incompatibility, not a claim that all three spreadsheet programs differ in every text conversion or that a newer Calligra build must behave the same.
Official references and related functions
The KDE TEXT reference, KDE T reference, KDE CONCATENATE reference and KDE LEFT reference support the documented formulas and purposes.
- Calligra shipped TEXT XML — the public one-argument syntax and examples; accessed 2026-10-12.
- Calligra TEXT C++ registration — arity
1..2; accessed 2026-10-12. - Calligra
func_textimplementation — only first argument read; accessed 2026-10-12. - KDE stable KF6 handbook — conceptual meaning; accessed 2026-10-12.
- KDE release announcement — 26.08.2 released 2026-10-08; accessed 2026-10-12.
- Microsoft Excel TEXT reference and LibreOffice Calc TEXT reference — cross-compatibility sources, checked 2026-10-12.
Validation: Official documentation, immutable source and independent example reasoning were checked. No native Calligra execution, platform/locale tests or workbook interchange tests were performed.