Итак, CSV-решение не было для меня идеальным, потому что мне нужно было отформатировать данные. В итоге я изменил первую строку кода выше на следующее:
System.Text.Encoding enc = Encoding.UTF8;
byte[] data = enc.GetBytes(excelData);
UTF8 была ЕДИНСТВЕННОЙ байтовой кодировкой, которая корректно отображала мои HTML-таблицы в Excel 2007 с одним предупреждением - по какой-то причине, хотя теперь он использовал UTF-8, он неправильно отображал специальные символы. Исправление для этого состояло в том, чтобы добавить это перед началом моих таблиц HTML в тексте ExcelData, который я экспортировал:
<HEAD><META http-equiv=Content-Type content='text/html; charset=utf-8'></HEAD>
Я не уверен, почему для того, чтобы все работало правильно, требовалось одинаковое кодирование в 2 разных местах. Вероятно, есть гораздо лучшие способы экспорта в Excel, чем таблицы HTML, но это быстрое и простое решение для проблемы, которая не требует ничего элегантного. Надеюсь, это может помочь и другим.