Я рассматриваю различные методы экспорта данных в Excel в моем приложении MVC.Экспорт данных в Excel в приложении MVC
Множество библиотек требуют, чтобы данные хранились в DataTables.
У меня есть данные, переданные в модель для доступа из представления. Кажется, что вы не можете передать эту модель обратно контроллеру.
JavaScript является опцией, если он не экспортируется в виде таблицы html, а является чистым файлом Excel.
В настоящее время я звоню функцию, которая будет выполняться запросы снова, чтобы построить строку и использовать System.IO.File.WriteAllText, выводящий файл. Я не предпочитаю этот способ, так как мне нужно вызвать базу данных для повторного запуска запросов (у меня уже есть все данные, которые мне нужны в модели в представлении), и путь жестко запрограммирован, мне бы хотелось, чтобы диалог сохранения отображался вверх.
Есть ли лучший способ сделать это?
Я бы очень хотел, один из двух способов ниже:
- Найти «трюк», чтобы передать данные с точки зрения обратно к контроллеру, может быть TempData может быть использован в представлении как-то?
JavaScript, который будет производить чистый Excel (.xlsx) файл
List<type> record = GetRecords(); StringBuilder sb = new StringBuilder(); sb.AppendLine("Data 1, Data 2, Data 3, Data 4"); foreach (var item in record) { sb.AppendFormat("{0},{1},{2},{3},{4}\n", item.1, item.2, item.3, item.4); } System.IO.File.WriteAllText("myfile.csv", sb.ToString());
js-xlsx (https://github.com/SheetJS/js-xlsx) - это библиотека javascript, которая может создавать чистый файл xlsx. Это поможет вам? – wwv
Я закончил тем, что пошел ниже. Спасибо – Unrecognized