У меня есть код для отправки результата данных пользователю как CSV. Это отлично работает с Excel 2013, но в Excel 2007 он не будет разбиваться на столбцы, а скорее на данные, вставленные только в один столбец.Экспорт CSV-файла в Excel 2007
Есть ли способ сообщить Excel, как разделить текст (он разделен;)? Вот мой код:
public async Task ExcelResultList(int id)
{
var asString = await Resolver.Resolve<IHandoutManager>().GetResultListAsStringAsync(id);
var handout = await Resolver.Resolve<IHandoutManager>().GetHandout(id);
var filename = string.Format("{0} registrations - {1:yyyy-MM-dd}.csv", handout.Name, DateTime.Now);
var contenttype = "application/csv";
Response.Clear();
Response.ContentType = contenttype;
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentEncoding = Encoding.Unicode;
Response.Write(asString);
Response.End();
}
.csv означает «значение, разделенное запятыми», а в старых версиях Excel, включая Excel 2010, разделитель должен был фактически быть запятой «,» для автоматического обнаружения столбцов для работы. Наиболее простым решением было бы заменить ваш «;» с ",". – Stewbob
Разница фактически основана на региональных настройках компьютера «,» не всегда является разделителем списков для всех языков/стран. –