Radgrid Excel导出循环
本文关键字:循环 Excel Radgrid | 更新日期: 2023-09-27 17:50:34
我尝试使用radgrid选项将数据导出到excel,它在单个导出上工作良好。但我试着在每个循环中导出,最后一个文件数据只导出。是否可以在循环中导出?
protected void btnexport_Click(object sender, EventArgs e)
{
string selectedimportfilesid = "";
IList<RadListBoxItem> collection = ListBoxFileNames.CheckedItems;
string selectedfilename = "";
DataTable dtselect = new DataTable();
foreach (RadListBoxItem item in collection)
{
Label filename = (Label)item.FindControl("lblfilename");
Label Importfileid = (Label)item.FindControl("lblimportfileid");
selectedfilename = filename.Text;
selectedimportfilesid = Importfileid.Text;
dtselect = selectedexportfilelist(selectedimportfilesid);
testgrid.DataSource = dtselect;
testgrid.DataBind();
testgrid.ExportSettings.IgnorePaging = true;
testgrid.ExportSettings.FileName = selectedfilename
testgrid.ExportSettings.OpenInNewWindow = true;
testgrid.ExportSettings.Excel.FileExtension = "xls";
testgrid.MasterTableView.ExportToExcel();
}
}
我认为这是不可能的。ExportToExcel()方法旨在将导出的内容发送给最终用户,因此它更改了Response对象(在那里写入文件并添加适当的标头)。因此,重复执行几次只会用最后一次更改响应流中的文件。
也许,你可以:
-
用自己的数据生成文件,并存储它们(例如,在临时文件夹:http://www.telerik.com/help/aspnet-ajax/export-infrastructure.html
-
压缩它们:http://www.telerik.com/help/aspnet-ajax/ziplibrary-overview.html
-
发送到客户端
-
删除文件
但是我没有测试过,也没有使用过,所以我不能说它对你的情况是否可行