Import/export between Excel and MS Project can be done many ways. “File->Open” in MS Project lets you import Excel spreadsheets. “File->Export” in MS Project lets you export to Excel format. There is a “map” feature that matches Excel rows and columns to MS Project data.
You can also copy-and-paste data between MS Project and Excel. Create a view in MS Project with the same column headers as the table in Excel, and then copy from one to the other.
Visual Basic for Applications scripts can also open an Excel spreadsheet, read the data, and then use the data to create resources, tasks, assignments, and other data in MS Project.
Before doing a large-scale import, work with MS Project to understand how you want each project to look in MS Project. Depending on how you import your data, MS Project may auto-calculate duration, work, finish date, and other parts of your schedule.
I have worked for years with both tools, and I still need many trial-and-error passes to get an import working well. You can use formulas in MS Excel to create the data that MS Project needs to create a good list of tasks, assignments, and resources. I usually create a sample project in MS Project by hand to serve as a model for all my imported projects, then work in MS Excel to transform the data into that template’s format.
MS Project can definitely handle milestones and complex data. If you truly have 400 columns, you might run out of places to put the data in MS Project, but there are over 200 custom fields available for resources and tasks, plus a large number of built-in fields. I suspect that all the important data for your projects, milestones, tasks, and other information can be kept somewhere in MS Project.