Although combinatorial auctions have received a great deal of attention from the computer science community over the past decade, research in this domain has focussed on settings in which a bidder only has preferences over the bundles of goods they themselves receive, and is indifferent about how other goods are allocated to other bidders. In general, however, bidders in combinatorial auctions will be subject to externalities: they care about how the goods they are not themselves allocated are allocated to others. Our aim in the present work is to study such combinatorial auctions with externalities from a computational perspective. We first present our formal model, and then develop a classification scheme for the types of externalities that may be exhibited in a bidder's valuation function. We develop a bidding language for combinatorial auctions with externalities, which uses weighted logical formulae to represent bidder valuation functions. We then investigate the properties of this representation: we study the complexity of the winner determination problem, and characterise the complexity of classifying the properties of valuation functions. Finally, we consider approximation methods for winner determination.