28. The system of claim 26 , wherein the one or more hardware processors executing the instructions stored in the system memory to construct a set of candidate column names for the table comprises the one or more hardware processors executing the instructions stored in the system memory to construct a set of candidate column names for the table from column names included in the first row of the table.
26. A system, the system comprising: one or more processors; system memory coupled to the one or more hardware processors, the system memory storing instructions that are executable by the one or more hardware processors; and the one or more hardware processors executing the instructions stored in the system memory to detect a column header for a table including one or more rows, including the following: construct a set of candidate column names for the table from data defining the table; for each candidate column name in the set of candidate column names: calculate a candidate column name frequency for the candidate column name by identifying one or more other tables, from among a set of other tables, that also contain the candidate column name as a candidate column name; and calculate a non-candidate column name frequency for the candidate column name by identifying a second one or more other tables, from among the set of other tables, that contain the candidate column name other than as a candidate column name; and select a row of the table as a column header when at least a specified threshold of candidate column names contained in the row have a candidate column name frequency that is greater than a non-candidate column name frequency.