130 likes | 546 Views
Excel JavaScript API Update. Juan Balmori Program Manager Excel.js. Office Add-ins. Extend Office applications across platforms using web technologies. Distribute via store or your company catalog via centralized deployment. HTML. Your own web app. Office Add-in. manifest.xml.
E N D
Excel JavaScript API Update Juan Balmori Program Manager Excel.js
Office Add-ins • Extend Office applications across platforms using web technologies. Distribute via store or your company catalog via centralized deployment. HTML Your own web app Office Add-in manifest.xml (with Office.js)
1.7 GA!! Excel API Releases 2018 2015 2016 2017 #1.1 #1.2 #1.3 #1.4 #1.5 #1.6 #1.7 Application/ Calculate Filter Pivot Table (refresh) Named Item (write) Custom XML Parts Conditional Formatting Events Worksheet Sort Range view (filtered) Settings New Range functions Calculate (range, worksheet) Styles Workbook Worksheet Functions Events Chart enhancements Range Protection Password Protection NEW Excel APIs in Preview! Copy Worksheet Table More events! Data validation Create Workbook Chart Gridlines, tabs, etc. Pivot W1 Areas Shapes W1 Named item (read) Charts W2 Range Worksheet Application
ExcelApi 1.7 Customize appearance, copy and protect, gain deeper understanding of data. • Chart trendline • Add/set chart series • Axis unit/title • Title and data label set • Access built-in properties • Set custom properties • Apply built-in style • Create/apply custom styles • Copy worksheet within same workbook • Password protection • Workbook protection • Set tab color • Turn gridlines on/off • Freeze rows, columns • Read frozen pane • Available on Win32, Excel online, Mac and iPad.
ExcelApi 1.7 More features Make your solutions more interactive. • Get range as image • Get active cell • Refresh data connections • Get workbook name • New range methods • Get/Set hyperlink • Named item formula and array-values, type • Range format additions
Demo Excel JS API 1.7 & New Preview samples in Script Lab
Identifying Challenges: Two Approaches Data-Driven Based on telemetry data (API usage, latency), engineering team analyzes and optimizes Excel back end – no changes required to your code. Customer-Driven Based on developer feedback (Stack Overflow, GitHub), our team publishes best-practices guidance.
Data-Driven Improvements • Data import is a common fundamental scenario, so this has been a major area of focus. • Range-write API performance for data import has been significantly improved (and has started rolling out to builds across all platforms): • ~1K cells – 88% improvement • ~10K cells – 90% improvement • ~100K cells – 57% improvement • Worksheet-add performance has been improved by 92% • Next focus area: adding table rows
Performance Feedback: example https://github.com/OfficeDev/office-js/issues/12 This issue led to both internal performance optimizationsin Excel, and publication of best-practices guidance.
Customer-Driven Improvements • We have started publishing best-practices guidance and code samples for specific scenarios. • Scenarios covered to date: • Minimize the number of sync() calls • Minimize the number of proxy objects created • Load necessary properties only • Suspend calculation temporarily • Update all cells in a range • Importing data into tables • https://docs.microsoft.com/en-us/office/dev/add-ins/excel/performance
Summary Excel 1.7 APIs GA! Excel New Beta APIs Perf Improvements! Help us get better and more APIs: http://dev.office.com Uservoice Stack overflow #office-js