Introduction to wraps

Wraps are web apps created from Excel spreadsheets. The spreadsheet defines a user interface, a data structure, and some calculations. Wraps can be linked to fetch information from each other. Logged-in users can see and sign different things in the app depending on their authority.

Depending on your background, there are several ways we could describe ExcelWraps.

To a person that uses Excel, ExcelWraps may be described as a cloud spreadsheet solution.

  • You can use your Excel skills to create a spreadsheet that works as a template for an electronic form, e.g. a mileage interval exam report for a railway car. We call this a wrap. The benefit for you: the wrap is live on the web, from the start, and anyone with the right authority can access the web app from anywhere.
  • After a while, you will accumulate many spreadsheets based on this report template; one for each exam that was made. We call these wrap instances. The benefit for you: none of these spreadsheets are on your hard drive, they are all stored on a secure server, and we keep track of them for you.
  • All the electronic forms you create this way can be hyperlinked, just like the pages on a website. We call this wraplinks. These allow a cell in one spreadsheet (wrap instance) to display the content of a cell in another spreadsheet. The benefit for you: you can create dashboard-style wraps that display data from many other places in the system. And best of all: the numbers are actually linked. The user of the dashboard just clicks on interesting numbers to zoom in on the most crucial information.

To a database person, a wrap is a complete database application:

  • A wrap can be thought of as a table in a hosted database, some client and server processing logic and a web-based user interface – all automatically created from a spreadsheet in Excel. The benefit for you: you don’t need a programmer or database specialist to do any of this. You can do it all by yourself.
  • If you think of a wrap as a table, each row in this table is called a wrap instance. The benefit for you: ExcelWraps provides all the functionality required to find old instances, create new ones or remove the ones that are no longer required. It can even upgrade all the existing instances to a new version of the template wrap definition if there have been changes to the way you work. You will never again have to wade through a clutter of unidentified old spreadsheets that may all have different modifications compared to the original.
  • A wrap can automatically fetch data from a column in another wrap using a wraplink. The benefit for you: the wraplinks translate seemingly innocent references between spreadsheet cells into advanced database calls that aggregate data upwards or decompose alarming numbers down to their smallest detail. All without a single line of code having been written by you. Or an in-house developer. Or a consultant.

Overview

Wraps are web apps available on your ExcelWraps site. Their purpose is to gather data into the cloud database.

Each wrap is defined by an Excel spreadsheet. The wrap mirrors the functionality of the source spreadsheet including any calculations and charts.

The spreadsheet is converted to a wrap by an Excel add-in called WrapCreator. This webpage is part of the help website for WrapCreator.

To be available on the web, the wrap must be uploaded to the online runtime environment, the wrapsite. This defines the wrap in the database. As wraps are uploaded to your wrapsite and connected to the internet their capability extends beyond Excel and will match the functionality seen in the most up to date phone and tablet apps.

When you first test ExcelWraps, you will have access to a trial wrapsite. When you sign up, you get your own permanent wrapsite that no-one else has access to.

An advanced reporting system called MyWraps pulls all results from the database. It performs lookup operations using unique keys in each wrap and displays the results using cell names as column titles.

Naming files, worksheets and cells

  • The name of the spreadsheet becomes the name of the wrap, e.g. an Excel file called TrainInspect.xlsx creates a wrap called TrainInspect.
  • The names for the visible worksheets are used as names for the window tabs.
  • Each visible worksheet contains input cells with labels that describe each cell’s contents. All input cells must be named. To save time, a convenient MapToNames tool can save time by automatically using the field label as the cell name. The cell names are used as column headers in the MyWraps reporting system – an input cell called Name corresponds to a column called Name in the report.
  • We encourage you to assign cell names also to calculated cells, so that they also get correct headings in MyWraps reports.

Read more about the rules for input files in ExcelWraps.

Wrap instances

A wrap is analogous to an Excel template file. When you create a working copy of this template for a specific purpose, we call this creating a wrap instance.

Let’s assume the TrainInspect wrap is used to inspect a train before it is released to passenger service. All the inspection items are listed in the wrap as a checklist for the inspector. Each inspection creates one instance of the wrap, documenting a specific inspection event.

Instead of creating a unique filename for each inspection, we give each wrap instance a unique key combination: one or more of the cells contains information that uniquely identifies the object or event that the wrap instance represents. For the TrainInspect wrap, the link to an instance can end with

TrainInspect?Unit=395621&Day=Mon&Month=Feb&Year=2025

Using unique keys instead of filenames relieves you of the burden of managing thousands of almost identical spreadsheets, and makes it much easier to link from one unit of information to another, e.g. from the Unit description to its related TrainInspect events.

All instances for a wrap have the same user interface and calculation logic defined in the template spreadsheet that was used to define the wrap. Each wrap instance has its own unique data that was typed into it when it was created, saved in the database, edited whenever the wrap instance is open, or reported through MyWraps.

WrapLinks

A wrap can pull data from other wraps by using WrapLinks. Each WrapLink identifies:

  • the source wrap that is to be used for the lookup
  • the unique key that uniquely designates the right wrap instance, e.g. representing one specific subcomponent of one specific railway car
  • the filter, naming the cell in the source wrap instance that you want the lookup operation to return.

Let’s assume the TrainInspect spreadsheet counts the number of failed checks using Excel formulas in a cell named FailedChecks. We can easily create a WrapLink that pulls this number into another wrap that displays a dashboard of all inspections performed in the week.

=WrapLink(“TrainInspect?Unit=395621&Day=Mon&Month=Feb&Year=2025&filter=FailedChecks”)

The WrapLink above returns the error count and also automatically creates a web link from the dashboard wrap to the details of the TrainInspect instance that the error count was taken from. If you want to zoom in on any problem, just click on its link. With ExcelWraps, users can quickly traverse a web of complex information just by clicking on the most interesting linked values.

Wrap Maps

A wrap map is a standard wrap that uses many WrapLinks to pull cell values from many wraps into a dashboard that summarizes a large amount of information. Each value links back to the wrap instance holding the data, allowing a user to “zoom in” on a problem.

Wrap development

Wraps are developed with Microsoft Excel running in Windows. Each wrap is defined by one spreadsheet. The spreadsheet can have more than one worksheet. A worksheet can be hidden and only used to store background data, or it can be visible. Each visible worksheet creates one tab or section in the web app.

Input cells

ExcelWraps is a database system. The data entered into a wrap instance is stored permanently in the database. To learn what data you want to store in the database for the wrap, WrapCreator looks for unlocked input cells and saves their cell names.

The cells in the spreadsheet are locked for input by default. A simple way to define the current cell as an input cell is to click on the Wrap Input button on the ribbon. This will unlock the current cell.

When you unlock a cell, it needs a name. When an unlocked cell is selected, the Cell tab appears in the task pane to let you assign a name to the cell. The same name is used for the column in the database table where the contents of this field are saved, and in the MyWraps reports generated from it.

Holder cells

To test the wrap with live data, you need to upload it to the wrapsite. To save time, we have added a few features that may enable you to do most of the testing already in the Excel environment.

One of these features is the Holder cell. During testing, you can provide a test value in a special holder cell to verify that the formulas in the wrap return the correct results. When you upload the wrap, live data automatically replaces the test value in the holder cell.

AutoNumber cell

The AutoNumber is an automatically generated key that assigns a unique serial number to each wrap instance. This allows you to create an unlimited number of instances of the wrap, that still are uniquely identified using their AutoNumber.

For a vehicle, you can create a wrap for error reporting that uses the vehicle number as the main key. To make it easier to navigate, you may then add an AutoNumber as the second key. All errors reported for this vehicle will then get a unique key that advances automatically by one for each new error report. Example: A wrap called ErrorReport is used to record errors. The vehicle is identified by its unit number 425132 and the autonumber cell is named Error. In this case, the first instances of errors on that unit will be found using links that end with
/ErrorReport?Unit=425132&Error=1
/ErrorReport?Unit=425132&Error=2
etc.

When a wrap uses an AutoNumber, special navigation buttons appear in the toolbar that allows you to scroll back and forth through the sequential wrap instances.

Wrap keys and IDs

Each wrap instance is given a unique number (ID). It can also have a unique combination of key values.

Imagine a shoe shop. Each shoe in the shop has a product ID, say the shoe you want is ID 1569. As a customer, you don’t know any product IDs, so you may ask for a pair of size 9 Dr. Martens black boots. The unique key combination of Size (9), Brand (Dr. Martens), Colour (Black) and Style (Boot) tells the shopkeeper exactly what you want. The unique key combination can be used to look up the Product ID but is much easier to remember.

When you view all instances of a wrap you will see both the ID and the unique keys combination arranged in rows. Each row represents an instance of the wrap.

In the below example we are recording overhaul activities for a train unit in a wrap called W-BOS-A-15-QCOI0001. This overhaul must be repeated every 500,000 miles.

Screenshot of a list of wrap instances

We see the first ten wrap instances. Each instance takes a row in the table, showing its ID and unique key combination. This wrap uses the keys of unit and mileage. For example, the wrap instance with ID 40061 has the keys unit=395008 and mileage=1000000. This combination of key values can only occur for one instance, and forms the unique key for that wrap instance.

ExcelWraps has tools to aggreage lists of eligible vehicles, persons, places etc from Wrap instances. It can also calculate a sum, average etc over multiple Wrap instances. In these cases you typically provide all components of the unique key except one. Example: If you use only the key unit=395008 in reference to the wrap above, you could have a WrapLinkList return the existing mileages for which there is data.

Access control

Users

User accounts are created with a unique username and a password to access the site. User profiles may add additional user information (e-mail address, address, telephone, etc). Users may be assigned one or more user roles which give permission for access and signoff. Users may also belong to a workgroup.

Roles

Roles are a set of permissions that define how you can use the ExcelWraps site. Some typical user roles are:

  • shop floor operatives
  • mechanical workers
  • electrical workers
  • supervisors
  • managers
  • clients
  • suppliers.

A user can have any number of roles, e.g. you may be both a shop floor worker and an electrical worker. Roles give users access to different parts of the site and block irrelevant content, keeping the site compact and easy to navigate.

Signatures

A wrap can contain one or more signatures. Only users with sufficient authority (derived from the user roles) can sign a wrap.

Frozen wraps

If a wrap represents a unit of work, and this unit of work has been marked complete, you may want to lock the wrap from further edits. Otherwise, the signature may no longer reflect the actual status of the unit of work.

A Wrap Freeze occurs when a wrap instance is signed off with the Freeze parameter enabled.

Once a freeze signature is signed, Wraplinks, WraplinkLists and WrapLinkAggregates will not update, recalculation will not happen and any cell values stored in the database will never change. This is so that the loaded wrap always reflects the condition when the freeze signature was signed. If the wrap definition allows instances to be unsigned, an authorized user can “re-open” the instance, making it live again.

Locked tabs

Signatures can also be used to sign off a complete processing step, still leaving other steps open and unlocked for editing. In this case, you can use the Lock Tab option of the WrapSignOff widget to lock one or more tabs so that they still document the work that was done, but since all work has already been completed and signed off, the contents of the locked tabs can no longer be changed.

Role-based access to tabs

You can hide entire tabs from users without the required authority or show them in a locked mode that doesn’t allow changes. Hiding and locking tabs occurs automatically depending on the user’s roles.

The MyWraps reporting system

MyWraps reports looks at wrap cell values over all available wrap instances to plot in live charts or tables. Switching between chart and table is a simple one-click button and both charts and tables can be filtered, sorted and ordered to give you exactly the information you require.

Screenshot of all instances of a Wrap in MyWraps

Live links between MyWraps reports and Excel data are easy to create if you are more comfortable working in Excel. Administrators can export (and import) between the site to a local device and have complete control over all data collected by the site.