While other replies all provide very helpful opinions, I'd like add a bit extra.
Using external data in AutoCAD to generate entities (or do anything in AutoCAD, for that matter) is very common process. When programming such a task, it is very important to decouple the process inside AutoCAD and the data storage format. That is, in AutoCAD, you define your data classes/models, which is used to hold runtime data for AutoCAD to do its work. And then you define am INTERFACE for accessing to the data from whatever data storage. Then you can have different data access implementation for different data store. For AutoCAD, it is completely blind to the external data storage, be the data in *.xls, or in *.csv, or Excel app installed or not, or the data in some sort of database or not.