Today I tried to write a vba macro with the vba editor in excel to perform some stupid and time-consuming job.

but then ,after 2 hours trying to write the macro in vba, I found that I don't know how to write vba, and the tutorials is not completed in my point of view. What the tutorials lacking is a kind of documentation which is like the java api documentation, which explain the class, method/function/sub-routines, attribute of it.

Then I tried python, with some modules (xlrt, xlwt, etc),
finally I can copy the data in one excel file to another excel file,
while applying some formatting to the cell (In my case, the scenario is to apply different background color to different cells, which may belongs to different classes).
However, I found out that those module do not preserve formula in excel such as =SUM(A1:A8)
....instead, it just copy the result of the formula.......
I am very disaapointed......

In the case of python, I found that many features that it claims to be functional, are not completed and lack of a proper documentation like java.

Can I ask a question here, does java read/write excel properly as I wish? Or I can only use the build-in vba editor to write a script in excel?

Another question is, is python bad? Or is that I am not a good programmer?
Can I ask, within C++/java/python/perl/ruby/C#/VB/C/shell/, which languages is capable of doing the most thing? JAVA?

Have you looked at this: ? (I didn't but I think it is what you were looking for).
Most of major languages is capable of doing infinite number of things, main difference is in easy of programming (for specific task) /speed of program. From my experience python is quite well documented. I've done some simple work involving excel in it, the main problem is that excel modules lacks functionality and documentation. For advanced work in excel I would chose vba, it has the best integration with excel (but I know nothing about .net). If I recall correctly OpenOffice supports more languages for scripting, for example python.

The vba doc is good. I will look into it. Thanks!