APEX Data Loading: was it supposed to be easy?

Both developers and clients love how simple it is to get data out of APEX. The developer specifies the data source, and the customer can download it in a format of their choosing. But then they expect to simply import that data back into the database, and complain "why is this so difficult?" Why should asking for "just one more feature" balloon the development estimate by several weeks or more? As developers we know this is not trivial: it requires parsing unpredictable CSV and Excel files, interpreting and validating the data, and importing it into the database in a stable fashion. We'd prefer to use a better data interchange standard but sometimes CSV and Excel files are all they have to offer. In this talk I will survey current methods for loading data from CSV and Excel files in APEX, and describe three different solutions implemented. After this, you will have a roadmap for choosing a reasonable solution for each situation you may encounter.