Excel Buffer-Stream functions

Kratos3064
Member Posts: 14
Hi, I recently got to know you cannot use SelectSheetsName / OpenBook functions from ExcelBuffer record for AL extensions. Instead BC has provided SelectSheetsName and OpenBookStream.
In the older versions, I can enter the name of the file and the sheets in the parameters. This will generate an Excel file.
In AL, the datatype of the first parameter of the functions is an InStream function. Ive not worked on Instream / Outstream functions. Ive tried to google, but I don't get how it works. Can someone help me out in explaining it and also help me in showing an example for these functions.
Thanks in advance.
In the older versions, I can enter the name of the file and the sheets in the parameters. This will generate an Excel file.
In AL, the datatype of the first parameter of the functions is an InStream function. Ive not worked on Instream / Outstream functions. Ive tried to google, but I don't get how it works. Can someone help me out in explaining it and also help me in showing an example for these functions.
Thanks in advance.
0
Best Answer
-
Hello @Kratos3064,
Here you have an example to read an Excel File.codeunit 50104 LoadExcel { trigger OnRun() begin UploadIntoStream('Load Excel File', '', 'Excel File (.xlsx)|*.xlsx', NombreFicheroLocal, FicheroInStream); Nombrehoja := ExcelBuf.SelectSheetsNameStream(FicheroInStream); ExcelBuf.LOCKTABLE; ExcelBuf.OpenBookStream(FicheroInStream, Nombrehoja); ExcelBuf.ReadSheet(); if ExcelBuf.FindLast() then begin celdasleidas := ExcelBuf.Count; Message('Cells read %1', celdasleidas); end; end; var ExcelBuf: Record "Excel Buffer"; FicheroInStream: InStream; NombreHoja: Text; NombreFicheroLocal: Text; celdasleidas: Integer; }
5
Answers
-
Hello @Kratos3064,
Here you have an example to read an Excel File.codeunit 50104 LoadExcel { trigger OnRun() begin UploadIntoStream('Load Excel File', '', 'Excel File (.xlsx)|*.xlsx', NombreFicheroLocal, FicheroInStream); Nombrehoja := ExcelBuf.SelectSheetsNameStream(FicheroInStream); ExcelBuf.LOCKTABLE; ExcelBuf.OpenBookStream(FicheroInStream, Nombrehoja); ExcelBuf.ReadSheet(); if ExcelBuf.FindLast() then begin celdasleidas := ExcelBuf.Count; Message('Cells read %1', celdasleidas); end; end; var ExcelBuf: Record "Excel Buffer"; FicheroInStream: InStream; NombreHoja: Text; NombreFicheroLocal: Text; celdasleidas: Integer; }
5 -
Hello @Kratos3064,
Here you have an example to read an Excel File.codeunit 50104 LoadExcel { trigger OnRun() begin UploadIntoStream('Load Excel File', '', 'Excel File (.xlsx)|*.xlsx', NombreFicheroLocal, FicheroInStream); Nombrehoja := ExcelBuf.SelectSheetsNameStream(FicheroInStream); ExcelBuf.LOCKTABLE; ExcelBuf.OpenBookStream(FicheroInStream, Nombrehoja); ExcelBuf.ReadSheet(); if ExcelBuf.FindLast() then begin celdasleidas := ExcelBuf.Count; Message('Cells read %1', celdasleidas); end; end; var ExcelBuf: Record "Excel Buffer"; FicheroInStream: InStream; NombreHoja: Text; NombreFicheroLocal: Text; celdasleidas: Integer; }
Thank you @ftornero0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions