我下面的代码能导出到excle但是导出的excle路径不能自己选择,请问这个怎么修改?
就像我们弹出一个保存界面,选择保存路径,然后保存
请问下面怎么处理???
string filename;
ReportDocument CrReportDocumnet = new ReportDocument();
CrReportDocumnet.Load(Server.MapPath("GPSStatisticsReport.rpt"));
filename = Server.MapPath("asp.xls");
string date = txtDate.Value;
DataTable dt = null;
dt = GetData(date); GPSStatisticsReport_DataSet dso = new GPSStatisticsReport_DataSet();
dso.Tables.Clear();
dt.TableName = "GPSStatisticsReport_DataTable";
dso.Tables.Add(dt.Copy());
GPSReportSource.ReportDocument.SetDataSource(dso);
GPSReportSource.DataBind(); CrReportDocumnet.SetDataSource(dso);
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
ExportOptions CrExportOptions = new ExportOptions();
CrDiskFileDestinationOptions.DiskFileName = filename;
CrExportOptions = CrReportDocumnet.ExportOptions;
CrExportOptions.ExportDestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.Excel;
CrReportDocumnet.Export();
就像我们弹出一个保存界面,选择保存路径,然后保存
请问下面怎么处理???
string filename;
ReportDocument CrReportDocumnet = new ReportDocument();
CrReportDocumnet.Load(Server.MapPath("GPSStatisticsReport.rpt"));
filename = Server.MapPath("asp.xls");
string date = txtDate.Value;
DataTable dt = null;
dt = GetData(date); GPSStatisticsReport_DataSet dso = new GPSStatisticsReport_DataSet();
dso.Tables.Clear();
dt.TableName = "GPSStatisticsReport_DataTable";
dso.Tables.Add(dt.Copy());
GPSReportSource.ReportDocument.SetDataSource(dso);
GPSReportSource.DataBind(); CrReportDocumnet.SetDataSource(dso);
DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
ExportOptions CrExportOptions = new ExportOptions();
CrDiskFileDestinationOptions.DiskFileName = filename;
CrExportOptions = CrReportDocumnet.ExportOptions;
CrExportOptions.ExportDestinationOptions = CrDiskFileDestinationOptions;
CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
CrExportOptions.ExportFormatType = ExportFormatType.Excel;
CrReportDocumnet.Export();
然后接收到这个路径后再往下走
filename = 从前置界面上传过来的路径;上一个帖子里的那句不用注释掉
你的这个导出,是导出到服务器上的,对用户来说,选路径也没有任何意义。
而且用asp.net这个也确实实现不了保存到用户机器上指定位置。如果你是要推到用户机器上,那么你就在现有代码最后面加一句
Response.Redirect(filename);是不是这个意思?
这样这个excel会弹出来,让用户自己选路径的
我想可以用文件流的方式到客户端,这个怎么处理?
byte[] fileCont=new byte[myFile.Length];
myFile.Read(fileCont,0,(int)myFile.Length);
Page.Response.Clear();
Page.Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(filename,System.Text.Encoding.UTF8));
Page.Response.AddHeader("Content-Length", myFile.Length.ToString());
Page.Response.BinaryWrite(fileCont);
我这样加了就可以了
本来是想达到这个效果就可以,只是有的可以,有的不可以。呵呵。