C# 无法从gridview导出excel
这是我的代码:C# 无法从gridview导出excel,c#,asp.net,C#,Asp.net,这是我的代码: protected void btnExcel_Click(object sender, ImageClickEventArgs e) { try { DataTable dtbl = (DataTable)ViewState["dtbl"]; string path = "E:\\shubby" + DateTime.Now.Day.ToString() + "_" +
protected void btnExcel_Click(object sender, ImageClickEventArgs e)
{
try
{
DataTable dtbl = (DataTable)ViewState["dtbl"];
string path = "E:\\shubby" + DateTime.Now.Day.ToString() + "_" + DateTime.Now.Month.ToString() + ".xls";
FileInfo fi = new FileInfo(path);
StringWriter sw = new StringWriter();
HtmlTextWriter htmltw = new HtmlTextWriter(sw);
DataGrid grdCrew = new DataGrid();
grdCrew.DataSource = dtbl;
grdCrew.DataBind();
grdCrew.RenderControl(htmltw);
string directory = path.Substring(0, path.LastIndexOf("\\"));// GetDirectory(Path);
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
System.IO.StreamWriter vw = new System.IO.StreamWriter(path, true);
sw.ToString().Normalize();
vw.Write(sw.ToString());
vw.Flush();
vw.Close();
WriteAttachment(fi.Name, "application/vnd.ms-excel", sw.ToString());
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
public static void WriteAttachment(string FileName, string FileType, string content)
{
HttpResponse Response = System.Web.HttpContext.Current.Response;
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.ContentType = FileType;
Response.Write(content);
Response.End();
}
我有单独的业务逻辑和存储过程文件,一切正常,只是我遇到的excel导出问题
我得到的错误是一个异常,它说“客户端不拥有所需的特权”
请帮助在您发布的代码中,我没有看到任何对
Excel互操作程序集的引用
。@Brian生成Excel兼容文件时,您不必安装Excel/Interop引用。@YuriyGalanter-是的,这是正确的。但是,这确实使它更容易做到。