Can not send data to thingspeak

How is the ESP8266 connected to the Arduino? It seems you are using the hardware serial port for both ESP8266 and your PC so this may be causing some kind of conflict.

According to the serial console your program never actually sends the data, probably because it doesn't find the required > character.

Do you have a USB-TTL serial adapter that you can use to connect the ESP8266 directly to your computer? It would be useful to manually type your command sequence and view the responses so you know what the ESP8266 is sending back.