This is for Excel using VBA
List your 17 values in A1 through Q1. Then run this macro:
Option Explicit
Sub ListSubsets()
Dim Items(1 To 17) As Variant
Dim CodeVector() As Integer
Dim i As Long, kk As Long
Dim lower As Long, upper As Long
Dim NewSub As String
Dim done As Boolean
Dim OddStep As Boolean
kk = 3
OddStep = True
lower = LBound(Items)
upper = UBound(Items)
For i = lower To upper
Items(i) = Cells(1, i)
Next i
ReDim CodeVector(lower To upper) 'it starts all 0
Application.ScreenUpdating = False
Do Until done
'Add a new subset according to current contents
'of CodeVector
NewSub = ""
For i = lower To upper
If CodeVector(i) = 1 Then
If NewSub = "" Then
NewSub = "'=" & Items(i)
Else
NewSub = NewSub & "+" & Items(i)
End If
End If
Next i
If NewSub = "" Then NewSub = "{}" 'empty set
Cells(kk, 2) = NewSub
Cells(kk, 3).Formula = Mid(NewSub, 2)
kk = kk + 1
'now update code vector
If OddStep Then
'just flip first bit
CodeVector(lower) = 1 - CodeVector(lower)
Else
'first locate first 1
i = lower
Do While CodeVector(i) <> 1
i = i + 1
Loop
'done if i = upper:
If i = upper Then
done = True
Else
'if not done then flip the *next* bit:
i = i + 1
CodeVector(i) = 1 - CodeVector(i)
End If
End If
OddStep = Not OddStep 'toggles between even and odd steps
Loop
Application.ScreenUpdating = True
End Sub
The combinations will appear from B4 downwards and the associated sums in column D:

Adapted from John Coleman's code.
Post
NOTE:
This took about 4 minutes to run on my old laptop.