Right now, I'm just guessing, but maybe adding some casts will make it work:
var people = from x in excel.Worksheet<CountryEconomics>("Sheet1")
let c = ((double)x.Inflation) / ((double)x.GDP)
orderby c ascending
select c;
However if that fails as well - what'll happen if you make it a list first:
var people = from x in excel.Worksheet<CountryEconomics>("Sheet1").ToList()
let c = ((double)x.Inflation) / ((double)x.GDP)
orderby c ascending
select c;
If that's still failing:
var people = from x in excel.Worksheet<CountryEconomics>("Sheet1")
let c = ((double)x.Inflation) / ((double)x.GDP)
select c;
var peopleList = people.ToList().OrderBy(p => p);
Hope this gets it done...