As long as your cells aren't going to be bordered, flexbox can work here for you.
td.dashed {
display: -webkit-flex;
display: flex;
}
Demo works with both a span or using content on a before psuedo element to contain the dashed. Does not work on anything older than IE10. Mozilla doesn't appear to like this, but it is supposed to support flexbox.