AXLL vs DEX

  • 8 November 2021
  • 2 replies
  • 56 views

Userlevel 2
Badge +4

@Gertjan @MarcelRoelofs I’m wondering: is the DataExchange library the recommended way to read Excel files from now on, for new apps? I think I understood that from earlier conversations and also the replies above, but I’m hesitating since the AXLL library is mentioned as a best practice here: https://how-to.aimms.com/Articles/85/85-using-axll-library.html

MarcelRoelofs 2 years ago

Hi @sandervlot,

This depends a little bit on what you are trying to accomplish. 

DEX is rapidly becoming the one-stop shop for everything Data Exchange in AIMMS, including exchanging row-based data, document-based data, and consuming and providing data services. It tries to provide standardized ways of performing various forms of data exchange, automated and generated wherever possible. It superseeds libraries such as DataLink and HTTPClient. 

So, if you are trying to read row-based data transfer with one table per sheet, then I would consider DEX as the preferred route. You don't have to think about the number of rows comprising a table, it can do column to set element conversion on-the-fly, and it will allow you to easily switch to other row-based data formats with only minimal changes to the mapping file. It also allow you to generate mappings for row-based formats using annotations, to make the effort for setting up exchanging data as minimal as possible.

If you are looking for ultimate flexibility in creating and reading data in Excel workbooks including formatting and coloring, then AXLL is the library that will allow you to do so. You'll have to code explicitly, though, from which areas you want to retrieve the data you're looking for.

The article you're referring is explaining what you can do using AXLL, and is clearly written prior to the existence of DEX. I do agree we are clearly lacking a how-to for data exchange using DEX.

View original

2 replies

Userlevel 4
Badge +5

Hi @sandervlot,

This depends a little bit on what you are trying to accomplish. 

DEX is rapidly becoming the one-stop shop for everything Data Exchange in AIMMS, including exchanging row-based data, document-based data, and consuming and providing data services. It tries to provide standardized ways of performing various forms of data exchange, automated and generated wherever possible. It superseeds libraries such as DataLink and HTTPClient. 

So, if you are trying to read row-based data transfer with one table per sheet, then I would consider DEX as the preferred route. You don't have to think about the number of rows comprising a table, it can do column to set element conversion on-the-fly, and it will allow you to easily switch to other row-based data formats with only minimal changes to the mapping file. It also allow you to generate mappings for row-based formats using annotations, to make the effort for setting up exchanging data as minimal as possible.

If you are looking for ultimate flexibility in creating and reading data in Excel workbooks including formatting and coloring, then AXLL is the library that will allow you to do so. You'll have to code explicitly, though, from which areas you want to retrieve the data you're looking for.

The article you're referring is explaining what you can do using AXLL, and is clearly written prior to the existence of DEX. I do agree we are clearly lacking a how-to for data exchange using DEX.

Userlevel 2
Badge +4

Thanks Marcel! I didn’t think of the ‘ultimate flexibility’ scenario that you mention. The difference makes sense! 

Reply


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator