asp.net GridView导出excel问题

哈喽Baby 2009-12-09 02:14:56
我写了一个gridview导出excel的方法,但是结果保存到服务器端了,我想把导出的excel下载到客户端,然后在服务器端删掉这个excel,怎么写?
我的意思就是用一个按钮控制导出,下载和删除,代码怎么写?
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈喽Baby 2009-12-10
  • 打赏
  • 举报
回复
我可以导出到客户端了,可是excel的格式是我在页面上设置的那样,我想重新设置一下像普通的excel那样的格式怎么写?还有我页面上有编辑列和删除列,不想导出。
别递烟哥不会 2009-12-09
  • 打赏
  • 举报
回复

if (DownloadFile.Exists)
{
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
Response.AddHeader("Content-Length", DownloadFile.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
// Response.AddHeader("Content-type: text/html; charset=windows-1251");

Response.ContentType = "application/octet-stream";
//Response.ContentType = "text/html; charset=windows-1251";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
else
{
//文件不存在
}

这个是 打开 保存 取消

删除功能的话,用Directory类找到相应的目录用File类应该可以删除指定文件吧
koukoujiayi 2009-12-09
  • 打赏
  • 举报
回复
既然现成的excel在服务端,就下载到客户端就可以了,
何必再经过GridView呢??
woshifou 2009-12-09
  • 打赏
  • 举报
回复
学习。
哈喽Baby 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qshurufa 的回复:]
必须把这个也加上

    Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)

    End Sub
[/Quote]
我导出方法用的是封装好的类,直接传datatable进去就行了
哈喽Baby 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jxyxhz 的回复:]
好像网上的例子,很少有保存在服务端的吧。。
[/Quote]
怎么写能保存到客户端?
哈喽Baby 2009-12-09
  • 打赏
  • 举报
回复
下载和删除的代码是那几句,我看不懂
小_虎 2009-12-09
  • 打赏
  • 举报
回复
好像网上的例子,很少有保存在服务端的吧。。
qshurufa 2009-12-09
  • 打赏
  • 举报
回复
必须把这个也加上

Public Overrides Sub VerifyRenderingInServerForm(ByVal control As System.Web.UI.Control)

End Sub
qshurufa 2009-12-09
  • 打赏
  • 举报
回复
If ExportToExcel(gvList, "application/ms-excel", "Excel工作表.xls") = True Then
'成功
End If
qshurufa 2009-12-09
  • 打赏
  • 举报
回复
''' <summary>
''' GridView导入Excel或Word
''' </summary>
''' <param name="dgvList">GridView控件名称</param>
''' <param name="sFileType">导出文件类型</param>
''' <param name="sFileName">文件名称</param>
''' <returns>
'''ExportToExcel(gvList, "application/ms-excel", "Excel工作表.xls") '导出为Excel
'''ExportToExcel(gvList, "application/ms-word", "Word工作表.doc") '导出为Word
'''</returns>
''' <remarks>GridView导出</remarks>
Public Function GridViewExportToExcel(ByRef gvList As GridView, ByVal sFileType As String, ByVal sFileName As String) As Boolean
Response.Charset = "GB2312"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
Response.AppendHeader("Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(sFileName, System.Text.Encoding.UTF8).ToString())
Response.ContentType = sFileType
Me.EnableViewState = False
Dim ioStringWriter As New System.IO.StringWriter
Dim htmlTextWriter As New HtmlTextWriter(ioStringWriter)
gvList.RenderControl(htmlTextWriter)
Response.Output.Write(ioStringWriter.ToString())
Response.Flush()
Response.End()
End Function

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧