Can't import wavenames from Keithley-generated excel file

Hi,

I'm very new to using Igor and would appreciate your help if somebody's experienced this sort of issue before. For some of the experiments I do, I have to use a Keithley SCS system running the KITE (Keithley Interactive Test Environment) software program. It can export files to .xls, .csv and .txt file formats. Although importing the csv and txt files seems to work ok, I prefer using Excel files because of the way the data and other parameters are recorded in one file. However, whenever I try to use XLLoadwave to import the .xls data file into Igor, I run into a small yet frustrating problem. Igor will import the data just fine, but won't read the wavename from the column headers in row 1. Instead, it will simply give the waves arbitrary names. This is problematic for me because I am dealing with a lot of very similar data and would like to be able to use the wavenames to automate data processing. Has anyone ever had problems of this nature while importing Excel files created by third-party applications?

Thanks!
Did you already have a look at the "/W=w" parameter from
displayhelptopic "XLLoadWave" ?
HJ
HJ,

Yes. The problem happens with the correct row specified. This seems to be a file issue since I've been able to copy and paste the data into a new Excel workbook and get it to work. However, doing so for every file would take a lot of work and time.
Do the .XLS files have the same excel file version?
In case they do, I assume a "non-standard" export routine to cause this, since the excel generated file works. Does opening the file and saving it as a new file work (without copy/paste)?

(Btw: Do you use Excel 2016 on Macintosh? There were some issues recently.)
HJ
If you mean xls vs xlsx, they do have the same file version (xls). Opening and resaving from Excel also works. I do use Excel 2016 for Mac, however I haven't had any issues.

It seems that the problem is definitely linked to the non-standard export routine. Is there anything you can think of to get around this that doesn't involve somehow modifying every single Excel file I generate?
If you send an example .xls file and the following to support@wavemetrics.com, we may be able to help:
1. Your Igor Pro serial number.
2. The version of Igor Pro you are using.
3. Your OS and version.
Besides cron jobs on the saved files or modifying the import resp. export routines? I'm sorry - nope.
HJ
I have fixed the problem loading text cells from the Keithley Excel file.

This will ship when we next update Igor Pro 6.

The problem had complex origins.

BIFF is Microsoft's "Binary Interchange File Format". This is the .xls format. It evolved over many years.

Keithley is writing a "BIFF8" file, which was introduced with Excel 97. It is documented at http://www.digitalpreservation.gov/formats/digformatspecs/Excel97-2007B….

At that time, Microsoft introduced a new record type, called LABELSST, for representing text cells, and Microsoft uses this record type when writing a BIFF8 file.

It is not at all clear from Microsoft documentation, but at the same time, Microsoft changed the format of the old LABEL record type, making it incompatible with older versions of BIFF. This is what was causing problems with XLLoadWave. Why they thought it was a good idea to change the old record format escapes me.

This is not a problem for files written by Excel, because Excel writes LABELSST, not LABEL records when writing BIFF8.

It was a problem with the Keithley file, because Keithley writes BIFF8 files using the LABEL record, not the LABELSST record.

At any rate, I have fixed this for the next Igor6 release.