Вывод в Excel с использованием ExcelLibrary в C#
Следующий код выводит в файл csv, используя controller.file. Я хочу изменить его для ввода в лист Excel (.xls) вместо файла CSV. Я использую эту библиотеку здесь, чтобы сделать это.. http://code.google.com/p/excellibrary/
согласно этому сообщению stackru. Создайте файл Excel (.XLS и.XLSX) из C#
Редактировать:
foreach (var value in valueDataList)
{
var value1 = xxxxxxx // this value is set here based on a query..
int value2 = xxxxxxxx // this value is set here based on a query..
byte[] content;
using (var ms = new MemoryStream())
{
using (var writer = new StreamWriter(ms))
{
writer.WriteLine("ValueHeading1 " + " ValueHeading2");
writer.WriteLine(value1 + " " + value2);
}
content = ms.ToArray();
return File(content, "text/csv", "demo.csv");
//ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelTest.xls", content);
}
}
Как я могу изменить свой существующий код в putput, чтобы преуспеть с помощью этой библиотеки. Последняя закомментированная строка в коде не работает, потому что она ожидает, что "содержимое" будет набором данных, а не байтом. Спасибо за любую помощь.
1 ответ
Решение
public ActionResult Excel()
{
DataSet ds = ...
using (var ms = new MemoryStream())
{
ExcelLibrary.DataSetHelper.CreateWorkbook(ms, ds)
return File(ms.ToArray(), "application/vnd.ms-excel", "demo.xls");
}
}