Extract Revit Properties into Excel
JavaScript sample to extract Revit files from Model Derivative API as Spreadsheet (Excel XLSX)
Description
This sample uses Model Derivative API endpoints to read a Revit project properties and create a XLSX Excel file with one sheet for each type/category with all objects on it. Non-Revit files are not supported (different structure). Here is another version for desktop.
Demonstration
Run it live at this page, or locally by following these steps:
- create an APS application if you don't have one yet (tutorial)
- make sure you have at least one file prepared for viewing (tutorial)
- clone this git repository
- navigate to the repository root folder and install npm dependencies
- on Windows/macOS/Linux:
npm install
- on Windows/macOS/Linux:
- prepare required environment variables
- on Windows:
set APS_CLIENT_ID=<your client id> set APS_CLIENT_SECRET=<your client secret> set APS_BUCKET=<your data bucket>
- on macOS/Linux:
export APS_CLIENT_ID=<your client id> export APS_CLIENT_SECRET=<your client secret> export APS_BUCKET=<your data bucket>
- on Windows:
- run the application
- on Windows/macOS/Linux:
npm run dev
- on Windows/macOS/Linux:
- go to http://localhost:3000
Usage
Add reference to the ExportXLS file:
<script src="ExportXLS.js"></script>
Then call downloadXLSX method passing the URN and a data:read token.
function downloadExcel() {
ExportXLS.downloadXLS(theURN, token, statusCallback /*Optional*/);
}
Dependencies
This project depends on Sheet JS to manipulate spreadsheet files. The FileSaver library is used to create & download a file on the client. BlobJS is required for older browsers (see compatibility). jQuery is also used.
<script src="jquery.min.js"></script>
<script src="Blob.js"></script>
<script src="FileSaver.min.js"></script>
<script src="xlsx.core.min.js"></script>
License
This sample is licensed under the terms of the MIT License. Please see the LICENSE file for full details.
Written by
Augusto Goncalves @augustomaia, APS Partner Development