Table 370 "Excel Buffer"
Base Application · System.IO
Across versions
- BC23present
- BC241 procedures added
- BC25-30unchanged
Neighbourhood 7 connected objects and pages
Base Application · System.IO · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Excel Buffer |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Row No. | Integer | — | DataClassification SystemMetadata |
| 2 | xlRowID | Text[10] | — | DataClassification SystemMetadata |
| 3 | Column No. | Integer | — | DataClassification SystemMetadata |
| 4 | xlColID | Text[10] | — | DataClassification SystemMetadata |
| 5 | Cell Value as Text | Text[250] | — | DataClassification SystemMetadata |
| 6 | Comment | Text[250] | — | DataClassification SystemMetadata |
| 7 | Formula | Text[250] | — | DataClassification SystemMetadata |
| 8 | Bold | Boolean | — | DataClassification SystemMetadata |
| 9 | Italic | Boolean | — | DataClassification SystemMetadata |
| 10 | Underline | Boolean | — | DataClassification SystemMetadata |
| 11 | NumberFormat | Text[30] | — | DataClassification SystemMetadata |
| 12 | Formula2 | Text[250] | — | DataClassification SystemMetadata |
| 13 | Formula3 | Text[250] | — | DataClassification SystemMetadata |
| 14 | Formula4 | Text[250] | — | DataClassification SystemMetadata |
| 15 | Cell Type | Option | — | OptionCaption: Number,Text,Date,Time; DataClassification SystemMetadata |
| 16 | Double Underline | Boolean | — | DataClassification SystemMetadata |
| 17 | Cell Value as Blob | Blob | — | DataClassification SystemMetadata |
Keys
- Key1: Row No., Column No. (clustered)
Events published
OnAfterAddColumnToBuffer(var ExcelBuffer: Record "Excel Buffer"; Value: Variant; IsFormula: Boolean; CommentText: Text; IsBold: Boolean; IsItalics: Boolean; IsUnderline: Boolean; NumFormat: Text[30]; CellType: Option)(integration)OnBeforeOpenUsingDocumentService(FileNameServer: Text; FileName: Text; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeParseCellValue(var ExcelBuffer: Record "Excel Buffer"; var Value: Text; var FormatString: Text; var IsHandled: Boolean)(integration)OnBeforeUTgetGlobalValue(GlobalVariable: Text[30]; var Variant_Value: Variant; var IsHandled: Boolean)(integration)OnBeforeWriteCellFormula(var Rec: Record "Excel Buffer"; var ExcelBuffer: Record "Excel Buffer"; var IsHandled: Boolean)(integration)OnParseCellValueOnBeforeRoundDecimal(var ExcelBuffer: Record "Excel Buffer"; DecimalValue: Decimal; var RoundingPrecision: Decimal)(integration)OnUpdateBookExcelOnAfterXlWrkBkWriterOpen(var ExcelBuffer: Record "Excel Buffer"; FileName: Text; SheetName: Text)(integration)OnWriteSheetOnBeforeUseXmlTextWriter(var ExcelBuffer: Record "Excel Buffer"; var IsHandled: Boolean)(integration)OnWriteSheetOnBeforeAddAndInitializeCommentsPart(var ExcelBuffer: Record "Excel Buffer"; var IsHandled: Boolean)(integration)OnWriteCellValueOnBeforeSetCellValue(var ExcelBuffer: Record "Excel Buffer"; var CellTextValue: Text)(integration)OnBeforeUpdateProgressDialog(var ExcelBufferDialogManagement: Codeunit "Excel Buffer Dialog Management"; var Result: Boolean; var IsHandled: Boolean)(integration)
Procedures
SetReadDateTimeInUtcDate(NewValue: Boolean)CopySheet(SheetName: Text; ClonedSheetName: Text; ReferenceSheetName: Text; PasteBefore: Boolean)DeleteWorksheet(SheetName: Text)GetSheetsCount(): IntegerEnterCellByCellName(CellName: Text; CellValueAsText: Text[250])SetActiveWriterSheet(SheetName: Text)GetWriterSheetNameByNumber(SheetNo: Integer): TextCreateNewBook(SheetName: Text[250])CreateBook(FileName: Text; SheetName: Text)GetValueByCellName(CellName: Text): TextGetNextColumnCellName(CellName: Text[30]): TextGetNextRowCellName(CellName: Text[30]): TextOpenBook(FileName: Text; SheetName: Text)OpenBookStream(FileStream: InStream; SheetName: Text): TextOpenBookForUpdate(FileName: Text)UpdateBook(FileName: Text; SheetName: Text)UpdateBookExcel(FileName: Text; SheetName: Text; PreserveDataOnUpdate: Boolean)UpdateBookStream(var ExcelStream: InStream; SheetName: Text; PreserveDataOnUpdate: Boolean)CloseBook()SelectOrAddSheet(NewSheetName: Text)SetActiveReaderSheet(NewSheetName: Text)WriteSheet(ReportHeader: Text; CompanyName2: Text; UserID2: Text)WriteAllToCurrentSheet(var ExcelBuffer: Record "Excel Buffer")WriteCellValue(ExcelBuffer: Record "Excel Buffer")WriteCellFormula(ExcelBuffer: Record "Excel Buffer")SetColumnWidth(ColName: Text[10]; NewColWidth: Decimal)CreateRangeName(RangeName: Text[30]; FromColumnNo: Integer; FromRowNo: Integer)ReadSheet()ReadSheetContinous(SheetName: Text; CloseBookOnCompletion: Boolean)ReadSheetContinous(SheetName: Text; CloseBookOnCompletion: Boolean; ColumnList: List of [Integer]; RowList: List of [Integer]; MaxRowNo: Integer)ParseCellValue(Value: Text; FormatString: Text)(protected)SelectSheetsName(FileName: Text): Text[250]SelectSheetsNameStream(FileStream: InStream): Text[250]GetExcelReference(Which: Integer): Text[250]ExportBudgetFilterToFormula(var ExcelBuf: Record "Excel Buffer"): BooleanAddToFormula(Text: Text[30]): BooleanGetFormula(): Text[1000]SetFormula(LongFormula: Text[1000])ClearFormula()NewRow()AddColumn(Value: Variant; IsFormula: Boolean; CommentText: Text; IsBold: Boolean; IsItalics: Boolean; IsUnderline: Boolean; NumFormat: Text[30]; CellType: Option)AddInfoColumn(Value: Variant; IsFormula: Boolean; IsBold: Boolean; IsItalics: Boolean; IsUnderline: Boolean; NumFormat: Text[30]; CellType: Option)EnterCell(var ExcelBuffer: Record "Excel Buffer"; RowNo: Integer; ColumnNo: Integer; Value: Variant; IsBold: Boolean; IsItalics: Boolean; IsUnderline: Boolean)StartRange()EndRange()CreateRange(RangeName: Text[250])ClearNewRow()SetUseInfoSheet()UTgetGlobalValue(globalVariable: Text[30]; var value: Variant)SetCurrent(NewCurrentRow: Integer; NewCurrentCol: Integer)CreateValidationRule(Range: Code[20])+ BC24CreateValidationRule(Range: Code[20]; SheetName: Text[250])+ BC24QuitExcel()OpenExcel()DownloadAndOpenExcel()OpenExcelWithName(FileName: Text)CreateBookAndOpenExcel(FileName: Text; SheetName: Text[250]; ReportHeader: Text; CompanyName2: Text; UserID2: Text)SetFriendlyFilename(Name: Text)ConvertDateTimeDecimalToDateTime(DateTimeAsOADate: Decimal): DateTimeSaveToStream(var ResultStream: OutStream; EraseFileAfterCompletion: Boolean)GetSheetsNameListFromStream(FileStream: InStream; var TempNameValueBufferOut: Record "Name/Value Buffer" temporary): Boolean
Plus 7 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 419 “File Management” (13 calls:
CreateBook → IsAllowedPath,CreateBook → ServerTempFileName,GetFriendlyFilename → StripNotsupportChrInFileName, …) - Codeunit 6223 “OpenXML Management” (5 calls:
CreateBook → SetupWorksheetHelper,UpdateBookExcel → SetupWorksheetHelper,WriteCellValueInternal → CreateCommentVmlShapeXml, …) - Codeunit 9510 “Document Service Management” (4 calls:
OpenUsingDocumentService → IsConfigured,OpenUsingDocumentService → IsServiceUri,OpenUsingDocumentService → OpenDocument, …) - Codeunit 5370 “Excel Buffer Dialog Management” (3 calls:
UpdateProgressDialog → SetProgress,WriteAllToCurrentSheet → Close,WriteAllToCurrentSheet → Open) - Codeunit 4100 “Temp Blob” (2 calls:
SaveToStream → CreateInStream,SelectSheetsName → CreateInStream) - Codeunit 10 “Type Helper” (1 call:
WriteSheet → LFSeparator) - Page 823 “Name/Value Lookup” (1 call:
SelectSheetsNameStream → (object))
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Excel Buffer"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.