A tank explosion and fire in Williams County caused no injuries but led to the spill of 17,640 gallons of crude oil.