It expects you to be providing an array of objects. So for example two, your expected output even says 'My Column Name' there, but you never provided that to anything. Also, you have to specify what properties you want the table to contain or it defaults to '*' to imply everything. So what you can do is something like:
'11','22','33' | ForEach{[PSCustomObject]@{'My Column Name'=$_}} | ConvertTo-HTML -Fragment -Property 'My Column Name'
Your output would then be:
My Column Name |
---|
11 |
22 |
33 |
You can achieve the same effect by using the Select command as such:
'11','22','33' | Select @{label='My Column Name';expression={$_}} | ConvertTo-HTML -Fragment -Property 'My Column Name'