I never suggested refactoring your whole code base. If you have code that works, stick with it.
As a Microsoft/SAS consultant, I am just telling you what I encounter in the field. A company has nowhere near the variation as what I see across dozens of companies so YMMV. In this case, switching it to a DBMS source may eliminate the object type issue. As Quentin said, "N/A" breaks a numeric column. It does in SAS, under some access methods, but I can get around it using different tech. SAS does not have a concept of a try/catch block and SAS is a loosely typed language. Excel cells are an object, not a value. SAS has to treat it as a value but a cell is a container with properties, methods, etc. Same with rows and columns.
Excel is best read with Excel or Office type products. Whether it is Office interop or 3rd party libraries such as GemBox or Aspose, there are much faster, better ways to read Excel. SAS works and I have used it a lot. However, if you have to create 10K worksheets a day, SAS cannot do it (yes, that is a real volume from a real SAS client). Interop can't do it effectively either. If you have to read colors or bold/italic, it is hard w/o the metadata access.
If it is a SAS bug (looks like it) then they can fix it. In the meantime you work around it or wait for a patch. I would choose the former but your call.
... View more