You're not paying attention to the spaces in between your command line arguments.
Your assembled command line looks like this:
cmd.exe /cC:\ant.bat-f=C:\build.xml-DinputFile=C:\Book1.xml-DstartDate=2018-05-23-dXslFile=2018-05-23-DoutputFile=ff
Just concatenating strings together does not automatically put spaces in the appropriate places for you. You have to account for that yourself.
Also, it greatly helps debugging if you put the strings into variables instead of directly assembling them as an argument in the function call:
string arguments=$"/c {antFile} -f={build} -DinputFile={inputFile} -DstartDate={startDate} -DxslFile={startDate} -DoutputFile={outputFile}";
ProcessStartInfo procStartInfo2 = new ProcessStartInfo("cmd.exe", arguments);
Learn how to use the debugger! This could have been EASILY found with just the debugger and a simple hover of the mouse over a variable to see its contents.
The debugger is there to debug YOU and you're understanding of the code and how it works.