Device-to-device (D2D) communication with increased spectral efficiency and reduced communication delay has undoubtedly become a general trend in future wireless networks. However, when D2D communication is incorporated into small cell networks (SCNs) with large number of randomly overlapped small cells, the co-channel interference between small cell users (SUEs) and D2D users is an inevitable challenge, especially with the heterogeneous spectrum, i.e., licensed spectrum bands and unlicensed spectrum bands. In this paper, we study the downlink channel allocation in D2D-assisted small cell networks with heterogeneous spectrum bands. By taking the required data rate of users and the interference constraint of SUEs into account, we formulate a channel allocation problem integrating channel selection and channel sharing to maximize the network utility, which is the service satisfaction of all users. To derive the solution, we decompose the optimization problem into two games: a potential game and a coalition game. Then, a potential game-based scheme using an interference graph and a coalition scheme with D2D user transferring is proposed to solve these two games, respectively. Based on these schemes, a two-stage distributed channel allocation algorithm is proposed and can converge with low computational complexity. Moreover, the simulation results reveal that the proposed algorithm could achieve high system throughput and network utility.