The Excel Tabular Export engine is the core system powering all structured Excel exports and imports in AseptSoft. It provides a consistent, cumulative mechanism for reading, writing, and updating Excel workbooks with tabular data.
🏭 Pharma Example — Maintaining a Living CIP Parameter Spreadsheet
In a pharmaceutical facility, process parameters (temperatures, flow rates, concentrations) are frequently reviewed and updated across CIP and SIP modules. The tabular export engine lets the validation team export parameters to Excel, add review notes and conditional formatting, then re-export after each change cycle. Because the engine matches rows by name, new parameters are added and removed parameters are flagged — all without disturbing the team's annotations.
📦 Consumers
The following export/import operations use this engine:
|
Consumer |
Page |
|---|---|
|
Alarms |
|
|
Control Loops |
|
|
Interlocks |
|
|
Parameters & Variables |
|
|
Equipment Modules |
|
|
Dialogs |
|
|
Process Tabular |
|
|
Process Algorithm |
|
|
Process Validations |
🗂️ Data Hierarchy
One export operation produces data organized in this hierarchy:
|
Level |
Excel Element |
Description |
|---|---|---|
|
1 |
Workbooks (files) |
One or more |
|
2 |
Worksheets (pages) |
Each workbook contains one or more worksheets |
|
3 |
Tables |
Each worksheet contains a single data table |
|
4 |
Cells |
Each cell is identified by a row-column pair |
📐 Table Structure
Every table has:
|
Component |
Description |
|---|---|
|
Header row |
Column names — must be unique within the table |
|
Dominant column |
A special column whose values uniquely identify each row (e.g., "Name") |
|
Data cells |
The intersection of a row and a non-dominant column |
📏 Format Identification Rules
For the engine to correctly locate and update a table in an existing worksheet, these rules must be followed:
🚫 Required Empty Regions
|
Region |
Rule |
|---|---|
|
Above the header |
All cells above the header row on any column must be empty |
|
Left of the header |
All cells to the left of the first header cell on any row must be empty |
|
Border cells |
Cells immediately bordering the table (top and left) must be empty |
✅ Free Regions
You can place any content (text, charts, notes, images) in areas that are:
-
Below the last data row
-
To the right of the last data column
-
Diagonally below-right of the table
This is what makes cumulative exports work — your custom content in free regions is preserved during re-exports.
🏷️ Header Uniqueness
Each header cell value must be unique. AseptSoft ensures this before exporting.
🔑 Dominant Column Uniqueness
Values in the dominant column must be unique. This column is used to match rows during cumulative updates. AseptSoft always places it as the first column on initial export, but you can reorder columns afterward.
🔄 Format Update Rules (Cumulative Behavior)
When re-exporting to an existing file, the engine:
-
Identifies existing tables using the format rules above
-
Matches old data with new data by name
-
Splits the data into: items to remove, items to update, items to add
-
Applies changes according to the configured options
💡 Row Matching Example
If the existing dominant column contains [HA-170, HA-169, HA-167] and the new data has [HA-170, HA-169, HA-1]:
-
HA-170 — matched, updated in place
-
HA-169 — matched, updated in place
-
HA-167 — exists only in old data, deleted (if Row Deletion option is enabled)
-
HA-1 — exists only in new data, last row is duplicated and updated with HA-1's values (if Row Creation option is enabled)
The duplicate-then-update strategy preserves row formatting from the existing file.
⚙️ Configuration Options
Each consumer configures which options are active. Here is the complete list:
📁 Workbook Level
|
Option |
Description |
|---|---|
|
Workbook Deletion |
If a workbook in the destination folder has no matching data, delete it |
📄 Worksheet Level
|
Option |
Description |
|---|---|
|
Worksheet Creation |
Create new worksheets for data that has no existing worksheet |
|
Worksheet Reorder |
Reorder existing worksheets to match the new data's sequence |
|
Worksheet Deletion |
Delete worksheets that have no matching data |
📊 Column Level
|
Option |
Description |
|---|---|
|
Column Creation |
Add missing columns for new data fields |
|
Column Reorder |
Reorder existing columns to match the new data's sequence |
|
Column Deletion |
Remove columns that have no matching data |
📝 Row Level
|
Option |
Description |
|---|---|
|
Row Creation |
Add rows for new data records |
|
Row Reorder |
Reorder existing rows to match the new data's sequence |
|
Row Deletion |
Remove rows that have no matching data |
📌 Behavior Notes
-
Fresh documents (just created): Worksheets, columns, and rows are always created regardless of creation options
-
Existing documents (update scenario): Creation options determine whether new elements are added
-
Reorder options: When enabled, elements are rearranged to match the order defined by the new data. When disabled, the user's custom ordering is preserved.
-
Deletion options: When enabled, orphaned elements are removed. When disabled, they remain in place (possibly with stale data).
🔃 Transposition Support
The engine supports transposed mode where rows and columns are swapped:
|
Normal Mode |
Transposed Mode |
|---|---|
|
Header = first row |
Header = first column |
|
Dominant = first column |
Dominant = first row |
|
Records = rows |
Records = columns |
This is useful when the natural data orientation is vertical rather than horizontal.
⚠️ Duplicate Detection
When duplicate detection is enabled, the engine detects and warns about:
-
Duplicate values in the dominant column
-
Duplicate worksheet names in the workbook
This prevents silent data loss during cumulative updates.
🔗 Related Pages
-
Export / Import — cumulative export overview
-
Export / Import Module Data — module data consumers (Alarms, Control Loops, Interlocks)
-
Export Processes to Excel - Tabular — process tabular consumer
-
Export Processes to Excel - Algorithm — process algorithm consumer
-
Export Processes to Excel - Validations — process validations consumer
-
Export Parameters and Variables to Excel — parameter/variable consumer
-
Export Equipment Modules to Excel — equipment module consumer
-
Export Dialogs to Excel — dialog consumer