You need an intermediary numbers table, or a table-valued function (if that option is available to you) which will produce numbers.
Assuming you had a Numbers table, which is populated like so:
Number
------
1
2
...
100000
(or as large as you need it to be, and there are efficient mechanisms for generating a numbers table of large size)
You would then issue the following query:
select
p.Product
from
Products as p
inner join Numbers as n on n.Number <= p.Quantity
This would produce the result you want.
A numbers table is incredibly helpful in SQL, and Itzik Ben-Gan goes into it and other great querying techniques in his books (listed on his website). I highly recommend them.