qtXLS – Read/Write Excel from Fortran

The qtXLS Library offers the programmer routines to access files in the Microsoft Excel format (.xls).

New: 32 and 64-bit versions for Intel Visual Fortran (see release notes).

With qtXLS routines you can

create files in the Excel data format
create tables (sheets) in these files
write data to tables (sheets)
read data from tables (sheets)
enquire information about tables (sheets) and columns

To perform these functions the library provides you with the following routines:

Function group / qtXLS routine Function
File functions
qtXLSCreateEXCELFile Create Excel file
qtXLSOpenEXCELFile Open Excel file
qtXLSCloseEXCELFile Close Excel file
Table functions
qtXLSCreateTable Create a table (sheet) and define columns
qtXLSReadRows Read rows from table (sheet)
qtXLSWriteRows Write rows to table (sheet)
Information functions
qtXLSGetTableNames Get table (sheet) names in the file
qtXLSDoesTableNameExist Check if a table (sheet) name exists
qtXLSGetColumnInfo Enquire information about columns
qtXLSGetRowCount Enquire number of rows in a table (sheet)
qtXLSGetNumericValue Convert the value of a SQL numeric type into a real value
Error handling functions
qtXLSGetErrorMessages Get error messages
qtXLSSetErrorLevel Control error handling
qtXLSSetErrorMessagesDisplay Set up display of error messages
Other functions
qtXLSGetszStringLength Get length of a null-terminated string
qtSetLicence_qtXLS Authorize usage of qtXLS (Fortran only)
qtXLSSetLicencePath Set path for licence file

The example program

qtXLSDemoWriteTable.f90 (Fortran 90 source file)

qtXLSDemoWriteTable.cpp (C/C++ source file)

creates the following Excel sheet. The program demonstrates how the qtXLS routines are used.

The qtXLS software is provided as a dynamic-link-library (qtXLS.dll) together with bindings determined to use with your compiler (import libraries and other files necessary to compile and link).

 

Supported Compiler Systems (Bindings)

At present the following compilers are supported

  • Absoft ProFortran for Windows v10.0
  • Compaq Visual Fortran v6.6
  • Intel Visual Fortran (v8.1, v9.x)
  • Lahey/Fujitsu Fortran for Windows (LF95) v5.7
  • Microsoft Visual C++ v6 and v7 (2003)
  • Silverfrost / Salford FTN95 (for Win32) v5.0 and later

These binding may also be suitable for newer versions of the compilers and possibly also for compatible compilers. If your compiler is not listed, but you would like to use qtXLS nevertheless, simply try out the binding anyway to which your compiler manufacturer claims to be compatible.

Download

You can download an evaluation copy of qtXLS (software and documentation in PDF format (2)). The software is limited in function (1). Size of the download file approx. 4 MB
(1) The evaluation copy allows to import and export of rows limited to 50 rows of a single table (sheet). Upon start of a program based on qtXLS there will be a message informing about this limitation.
(2) The Adobe Acrobat Reader (to read documents in PDF format) is to be found here.

Prices & Licensing

The evaluation copy can be changed into a version without limitation (1) by purchase of a qtXLS licence.
The licence allows you to use the qtXLS software for the development of programs, i.e. to create executable files (.exe). In addition, the licence covers the right to the passing on of the qtXLS.dll as well as the licence file (that you will receive on purchase of qtXLS). This means, there are no royalty or run-time fees to pay.

We deliver the licence (QTXLS.0010) by sending a licence file via Mail (no shipping costs apply). The licence file contains the data specified by you (for example, name and address), a licence number and a licence key.
IIF you prefer to obtain qtXLS on a CD-ROM together with a manual, order both items QTXLS.0010 and QTXLS.0100 (the licence file will be put on the CD-ROM).

System Requirements

To be able to use the qtXLS software, the following is required::

  • PC with a Pentium processor, hard disk with at least 15 MB memory available, a minimum of 32 MB RAM.
  • One of the following operating systems: Microsoft Windows 95, Windows 98, Windows NT 4.0, Windows 2000, 2003, Windows XP and compatible.

qtXLS is based on Microsoft Excel ODBC drivers. At installation of Excel these are usually installed. If these drivers are missing, they are either supplied by installation of Microsoft Excel or by installation of the

Microsoft Data Access Components (MDAC)

This is probably the cheaper alternative, because the MDAC can be downloaded for free from Microsoft’s WebSite. If the link above doesn’t help you to find them, try the search function in Microsoft’s “Download Center”.

Of course, besides the above, a compiler system is needed (see the list of supported compilers above).

What do our Customers say about us?

I have had a very helpful response, and have passed it on to my Oxford colleagues with success. I am impressed with the way Adept seems to maintain the same staff for many years, which speaks very well for the organisation.

HG, Oxford, UK

At 13-years old, my daughter’s research manuscript has been accepted for publication in a top tier peer-reviewed Environmental Science journal and OriginPro 8.6 will allow her to export the graphs in a wide variety of formats which can meet any publisher’s requirements. Kudos to OriginLab for designing innovative and intuitive software that can span the needs of both a burgeoning young scientist like my daughter to a PhD expert in their field. It is hard to imagine that other products offer this extraordinary level of user versatility.

Michael Grimmett, MD, FACP, FACS Ophthalmologist Palm Beach Gardens, Florida

I have to thank you again for your help. The support level you have given gives me good confidence in using the product, knowing that there are solutions to problems that are not necessarily easy (or economic) for you to implement, but give the customer a working solution.

CW, Cheltenham, UK

Thorough knowledge of product and able to answer queries arising during the session. Good pacing of content.

For the time being we are unable to offer the following product ranges although we are currently working hard to increase the number of products we can offer in the future. Please contact us to talk about alternative products that we may be able to offer you.