To cope with co-channel interference between existing long-term evolution-advanced (LTE-A) uplink cellular links and device-to-device (D2D) links, power control and channel assignment are jointly considered to optimize spectral efficiency under the quality-of-service requirement of prioritized cellular links. Each D2D link can reuse multiple continuous channels. Given the complexity of the original problem, we decompose it into two sub-problems:power control and channel assignment. The design of power control can be analyzed via convex optimization, and on the basis of the above optimum, the design of channel assignment is the classic set partitioning problem, which is generally an NP-hard problem. Thus, a greedy algorithm with polynomial-time complexity is proposed to achieve a balance between performance and complexity. Simulation results show that the proposed joint resource allocation scheme outperforms those with a single resource variable and also those where multi-channel reuse is not enabled. Moreover, the performance of the proposed scheme is close to the global optimum derived by the branch-and-bound method.