Ciao, in linea di massima con display:none; dovrebbe funzionare. Personalmente ti consiglierei però di risparmiare l'inserimento di classi, che potrebbero sporcare il codice html, e di usare semplicemente il selettore :nth-child() per specificare le celle da nascondere, indicando il valore che identifica sostanzialmente la colonna. Vedi anche i selettori :first-child e :last-child per identificare la prima o l'ultima colonna.
Un esempio in cui nascondo la seconda colonna:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
<style type="text/css">
table{
border-spacing: 0;
border-collapse: collapse;
}
th, td{
border: 1px solid #777;
}
th:nth-child(2),
td:nth-child(2){
display: none;
}
</style>
</head>
<body>
<table>
<tr>
<th>Titolo 1</th>
<th>Titolo 2</th>
<th>Titolo 3</th>
</tr>
<tr>
<td>col 1</td>
<td>col 2</td>
<td>col 3</td>
</tr>
</table>
</body>
</html>
Chiaramente devi assicurarti che la struttura html della tabella sia impostata correttamente.
Se invece preferisci applicare una classe ma, come hai indicato, non ti funziona, bisogna vedere il relativo html e il css che hai impostato per capire dove sta il problema.