There are many ways to achieve this, the common challenge is finding a solution that fits within the client infrastructure.
You can use any number of tools; excel macros, excel scriptlab/ Microsoft Office API, python, C#, powershell are examples I've seen working and there is nothing stopping you using any number of other programming languages/ tools.
It's also worth noting how much control you may need on this data, if it's a pure load then the existing data import feature may work for you:
https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=c-import-data-into-cubeIf you need greater control to load the data then you may find what you need in the TM1 Local Variables where you can set the DataSourceNameforServer and configure the details of the datasource (delimiters, header records etc..)
https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=tv-turbointegrator-local-variables------------------------------
Edward Stuart
------------------------------