Files.Compare does a binary file comparison (see
http://smartbear.com/support/viewarticle/11074/). If there are differences, even by a byte or so, then the files will not match. There's a LOT of stuff that is stored within an Excel sheet that is not necessarily related to the data itself. Additionally, keep in mind that what you're writing to the cells are probably being written as text but the TEstData.XLSX might have that data written as numerics. This would cause a difference as well.
If storing the data off in an Excel sheet is not critical to your application, you might want to investigate other ways of doing the comparison.
For example, let's say you have an excel spreadsheet that contains multiple rows of data that you want to loop through and compare a row of data from that sheet to the values on screen. You might wrap your entire code with a DDT.ExcelDriver and while loop. See below... note that the code I've posted is pseudo-code and may not be executable as is...
dim ExcelDriverObj
Set ExcelDriverObj = DDT.ExcelDriver("E:\TestData.XLSX", "Sheet1", true)
while (!ExcelDriverObj.EOF)
//Do your code to get the AgentName
if ExcelDriverObj.Value("AgentName") != AgentName
Log.Message "The Agent Name doesn't match"
//Do your code to get the total amount
if ExcelDriverObj.Value("TotalAmount") != TotAmt
Log.Message "The Total Amount doesn't match"
//Do your code to get the total balance
if ExcelDriverObj.Value("TotalBalance") != TotBal
Log.Message "The Total Balance doesn't match"
Call ExcelDriverObj.Next()
WEnd