Another good load generator is Grinder. While JMeter is basically GUI-based, the Grinder is (Python-)script-based and has just a GUI for distribution the run over different machines and starting/stopping load generation.
For the definition of test data or synthesization of production data, I wrote Benerator, which is (among many other things) able to import Excel files and provide its data to other applications, but itself has no web app invocation functionality. So you would need to combine it programmatically with another tool.
JMeter gives you the fastest result by clicking together what you need, but functionality is limited. With Grinder you have more control at the price of having to write client code, but you can easily plug in with Java tools like POI or Benerator for accessing data from Excel files.
JMeter out-of-box is capable of reading CSV files via simple config element called [url=http://community.blazemeter.com/knowledgebase/articles/65138-using-csv-data-set-config:21f98bs1]CSV Data Set Config[/url:21f98bs1] If your data comes in form of XLS or XLSX file you can use BeanShell sampler altogether with Apache POI libraries to read data from binary Excel files. For beginner JMeter is simplier than Grinder, however both tools are Java-based and can be extended to read Excel.
I am fresher in Software Testing, Recently i joined CresTech Software Systems as a Software Tester.
Performance testing is known as testing performed to know how a system performs in terms of responsiveness and stability under a particular workload or assign work time. But i have a big doubt in soak testing and spike testing.