Я успешно экспортировал данные из gridview в Excel для одного рабочего листа, но хочу добавить несколько рабочих листов. У меня есть googled вокруг и попробовал несколько вариантов, но ничего не работает, но я приближаюсь. Я думаю, что это всего лишь несколько строк кода. Теперь у меня есть следующий код:Экспорт данных в Excel в MVC
public ActionResult Download()
{
if (Session["BP"] != null)
{
return new DownloadFileActionResult((GridView)Session["BP"], "BestPrices.xls");
}
else
{
return new JavaScriptResult();
}
}
Я заселить переменный сеанс с помощью датируемого и GridView:
GridView gv = new GridView();
gv.DataSource = gridTable;
gv.DataBind();
// Session["BP"] = myGridViews;
Session["BP"] = g;
Я построил массив GridViews, думая, что бы помочь, но я не могу экспортировать, что в настоящее время.
GridView[] g = new GridView[retailerTables.Count];
int n = 0;
foreach (string key in keys)
{
myGridViews[n] = retailerTables[key];
g[n] = new GridView();
g[n].DataSource = retailerTables[key];
g[n].DataBind();
n++;
}
Основная идея заключается в том, что каждый рабочий лист в файле excel соответствует одному виду сетки.
Я видел различные сторонние варианты, но я не знаю, насколько они надежны, и если я в конечном итоге отлаживаю ошибки интерфейса. Я предпочитаю использовать основные классы и опции в MVC.
Приложение работает на веб-сайте, и пользователь щелкнет ссылку для загрузки файла.
Таблицы розничной торговли являются:
Dictionary<string, DataTable> retailerTables= new Dictionary<string, DataTable>();
Таким образом, каждый лист будет иметь данные о продажах для розничной торговли и пользователь может, наконец, просто нажмите на различных розничной торговли и просматривать данные о продажах.
Кто-нибудь знает, как решить проблему для экспорта нескольких таблиц, чтобы преуспеть, как я изложил.
Вы не хотите использовать компоненты COM Excel для чего-либо на веб-сервере. Они не предназначены для использования там, и может произойти множество ошибок. Я использовал [EPPlus] (http://epplus.codeplex.com) для многих проектов, и он работает очень хорошо. С ним очень легко работать и с легкостью обрабатывать несколько листов. – krillgar
Что сказал @krillgar. Обычно я использую [NPOI] (https://npoi.codeplex.com/) для своих потребностей Excel и не имею никаких жалоб. – Travis
Я решил использовать NPOI. Я отправлю код позже. –