Of course it does not work.
DataTable dataTable_Excel is being passed as parameter, but the dataTable_excel is null. If you want to create this reference dynamically in the function you need to pass it by reference like this :
ClientXLS ClientNewXLS = new ClientXLS();
DataTable dataTable_Excel=null;
ClientNewXLS.ExcelInput(openFile.FileName, ref dataTable_Excel);
The reason is that without ref, the passing is being done by value. So the reference to dataTable_Excel is passed by value. If you then assign a different value to it, it won't be noticed when the function returns. That is basically what you are doing.
So you are mixing up the concept of
pass by value
pass by reference.
note:
ClientNewXLS.ExcelInput(openFile.FileName, out dataTable_Excel);
this also works.