To easily design the output page layout, I would use MsAccess to import the needed rows in a data table and send them to a build-in report.
The layout can also be done with a Word mailmerge but it wouldn't be user-friendly to change row selection and source file.
This can also be done as a non-office independent EXE program (to avoid having MsAccess but it'll still need Excel to make OLE requests). The only disadvantage is that the output fields position will be hard-coded and so to change the layout, you'll need to have the developing tools that have built it.
A standard report generator like Crystal Reports can also be used.
You can choose any of these methods but I recommend the MsAccess one.
I all cases, I can also integrate barcoding functions I've made to print one of these four families : 2/5 interleaved, 3 of 9, EAN 13 or EAN 128.