The nearest airport is in Poznan (50km) with numerous regular connections accross Europe. You can alsob use a small airport in Bydgoszcz (90km).
Gniezno is a crucial junction of railroads, but - unfortunately - 2 out of five lines leading to Gniezno (to Chojnice and Wagrowiec are used only for the freight traffic. The main rail line is the one Poznan-Gniezno-Inowroclaw, where it is devided to Gdansk through Bydgoszcz and to Olsztyn through Toruń. There're many trains on this line :
to Poznan up to 17 daily regional trains and 6-10(depending on season) fast ones. The travel time to Poznan varies from 40-45 for fast trains to 55 for the local ones, stopping at every station. If you take into account traffic and jams in Poznan, trains seem to be the best solution, more : the station in Gniezno is located in the heart of the city.
to Bydgoszcz and Gdansk : 4 regional trains and 4-7 fast ones
to Torun and Olsztyn 2 local trains and 3 fast ones.
apart from this, there are some regional traisn to Inowrocław, where you can change for other local ones to do Bydgoszcz and Gdansk or to Torun and Olsztyn.
Is't important to add a local line from Gniezno to Wrzesnia and Jarocin, with 4 local trains daily (including two of then, that are coordinated in Jarocin with trains to Wroclaw.
An interesting alternative for those travelling to Gniezno from the south-east (lakes in Powidz, Anastazewo) is a journey by a local 38-km -long narrow-gauge railway. It runs during spring and summer weekends, and - on special wish - on any day. Details : (polish only) .