Overview
You can manage your assembly library in bulk using Excel via Tools > Setup > Import/Export Data. This is particularly useful when you need to create many assemblies at once, add associated components to a batch of existing assemblies, or transfer assemblies between databases.
Some estimators who are comfortable with spreadsheets find this the most efficient way to build out a large assembly library, especially when product codes are already known.
Exporting assemblies
- 1
Go to Tools > Setup > Import/Export Data.
- 2
Select the assemblies export option and press Export.
- 3
When prompted to save, choose CSV format. If you are on the cloud version of the software, CSV is strongly recommended over Excel format to avoid compatibility issues — Excel files have occasionally caused problems on the cloud platform.
- 4
Save the file. On the cloud version, the file is saved to your cloud storage, from where you can copy it to your local machine.
Understanding the H/C/A row format
The exported file contains all of your assemblies laid out in rows. Each assembly is represented by a group of consecutive rows using a three-letter coding system:
- H row (Header) — the first row of each assembly. It contains the assembly's category, main index, sub index, description, unit of measure, and user assembly code. There is exactly one H row per assembly.
- C rows (Components) — the component rows that follow the H row. Each C row represents one item in the assembly, listing its product code, description, and quantity. A typical assembly has several C rows.
- A rows (Associated components) — optional rows that follow the C rows. Each A row represents an associated component used for automatic bend/fitting detection on the PDF takeoff. An A row contains the product code, description, quantity, and the mapping type (e.g. 90-degree bend, 45-degree bend). Not all assemblies have A rows.
Example: simple assembly (no associated components)
H, Cable Management, Cable Tray, LeGrand, 100mm Cable Tray MRF Inc Hanger, Linear
C, MRFL100G, CABLE TRAY 100MM WIDE PER MT, 1.00
C, MRFC50PG, SINGLE COUPLER, 0.333
Example: assembly with associated components
H, Cable Management, Cable Tray, LeGrand, 100mm Cable Tray MRF Inc Hanger, Linear
C, MRFL100G, CABLE TRAY 100MM WIDE PER MT, 1.00
C, MRFC50PG, SINGLE COUPLER, 0.333
A, MRFB100PG, 100MM 90 DEG FLAT BEND PRE-GALV, 1, 90
A, MRFB10045PG, 100MM 45 DEG FLAT BEND PRE-GALV, 1, 45
Editing in Excel
Open the CSV in Excel (or any spreadsheet application) to make changes. You can:
- Edit existing assemblies — change quantities, descriptions, or product codes for any component by modifying the relevant C row values.
- Add new assemblies — insert a new H row followed by the appropriate C rows (and A rows if needed), following the same column format as the existing entries.
- Add associated components — insert A rows after the last C row of the relevant assembly. Enter the product code of the fitting, its description, the quantity (typically 1), and the mapping type (90 for a 90-degree bend, 45 for a 45-degree bend).
- Remove assemblies or components — delete the relevant rows entirely.
If you already know your product codes, creating or editing assemblies in Excel can be significantly faster than doing it through the assembly builder screen — particularly when you need to set up associated components for many assemblies at once.
Importing assemblies
- 1
Save your edited file as a CSV. If you edited it in Excel, use Save As and select CSV format to avoid formatting issues.
- 2
Go to Tools > Setup > Import/Export Data and select the import option.
- 3
Browse to your CSV file and open it. On the cloud version, you may need to upload the file to your cloud storage first.
- 4
The system asks whether you want to delete all existing assemblies before importing. This is the most important decision in the process:
- Select No if you are adding new assemblies or updating a subset of your library. The imported data is merged with your existing assemblies — new entries are added, and matching entries are updated.
- Select Yes only if you want to replace your entire assembly database with the contents of the file. This removes all existing assemblies before loading the file. Use this option with extreme caution — it is irreversible without a backup.
- 5
The import runs and the system confirms completion. If there are errors in the file format (e.g. unrecognised product codes or missing columns), the system will typically display a message. Check the assemblies browser afterwards to verify that your changes have been applied correctly.
Before importing, consider taking a backup of your database. If you are unsure about the process or the format of your file, contact Ensign support — they can walk you through it and take a backup for you before any changes are made. This is especially important if you are selecting the "delete all" option.
Common import scenarios
Adding associated components in bulk
Export your assemblies, open the CSV, and insert A rows for every assembly that needs bend or fitting detection. This is far quicker than opening each assembly individually in the builder screen. Save as CSV, import with No (merge), and verify the results.
Transferring assemblies between databases
Export from the source database, then import the CSV into the target database. Use the merge option (No) to add the assemblies without disturbing any that already exist in the target.
Rebuilding your assembly library
If you want to start fresh with a completely new set of assemblies, prepare your full library in Excel, then import with Yes (delete all). Ensure the file is complete and correct before doing this, as the existing assemblies will be permanently removed.
Sharing assemblies with colleagues on separate databases
Export your assemblies as a CSV, send the file to your colleague, and have them import it with the merge option. Any assemblies they already have will be preserved; your assemblies will be added alongside theirs.
Keep a backup copy of your exported CSV before making changes. This gives you a safety net — if the import produces unexpected results, you can re-import the original file to restore your library.