VB.NET网页内容导出为Excel兼容2003/2007
该资源是关于使用VB.NET将网页内容导出到Excel的代码示例。这个功能方便地按照网页的格式将数据导出,并且生成的Excel文件能在不同版本(如2003和2007)中打开。 在VB.NET中,将网页内容导出到Excel涉及到了以下几个关键知识点: 1. 事件处理程序:`btn_Excel_Click` 是一个按钮点击事件处理程序,当用户点击按钮时,会触发导出Excel的操作。 2. 隐藏按钮:`ibtn_Excel.Visible=False` 隐藏了触发导出操作的按钮,防止用户多次点击。 3. 表格样式设置:`tbl_overtime.Border=1` 设置了表格的边框,使得导出的Excel内容有清晰的边界。 4. HTTP响应设置: - `Response.Clear()` 清空当前的HTTP响应,确保没有遗留内容影响导出。 - `Response.Buffer=False` 关闭缓冲,允许在发送整个响应之前立即发送内容。 - `Response.Charset="GB2312"` 设置响应的字符集,这里是简体中文的GBK编码。 - `Response.AppendHeader("Content-Disposition","attachment;filename="&System.Web.HttpUtility.UrlEncode("·ݼӰͳƱ"+".xls",System.Text.Encoding.UTF8))` 添加HTTP头,指定文件名并进行URL编码,使得文件名在不同系统下可以正确解析。 - `Response.ContentEncoding=Encoding.Default` 设置内容的编码,通常为系统的默认编码。 - `Response.ContentType="application/ms-excel"` 设置响应的MIME类型,表明这是一个Excel文件。 5. HTML文本写入: - 创建`StringWriter`和`HtmlTextWriter`对象,用于将网页内容转换成HTML格式,然后写入到Excel文件中。 - 使用`StringBuilder`构建HTML字符串,包含必要的Excel兼容标记,例如`<html>`, `<head>`, `<x:ExcelWorkbook>`, `<x:ExcelWorksheets>`, `<x:ExcelWorksheet>`等,这些标记帮助创建一个符合Excel格式的HTML文档。 6. 视图状态禁用:`Me.EnableViewState=False` 禁用当前页面的视图状态,这在导出操作中通常是不必要的,可以提高性能。 7. 写入和结束响应: - `oHtmlTextWriter.Write(sb.ToString())` 将构建的HTML字符串写入到HTTP响应中。 - `Response.End()` 结束HTTP响应,发送数据到客户端。 通过以上步骤,VB.NET代码能够将网页上的内容格式化为Excel兼容的HTML,然后通过HTTP响应发送给浏览器,浏览器接收到后会自动触发下载,用户可以保存为Excel文件。这种方法简单有效,适用于需要快速导出数据到Excel的Web应用程序。
ibtn_Excel.Visible = False
tbl_overtime.Border = 1
Response.Clear()
Response.Buffer = False
Response.Charset = "GB2312"
Response.AppendHeader("Content-Disposition", "attachment;filename=" & System.Web.HttpUtility.UrlEncode("月份加班统计表" + ".xls", System.Text.Encoding.UTF8))
Response.ContentEncoding = Encoding.Default
Response.ContentType = "application/ms-excel"
Me.EnableViewState = False
Dim oStringWriter As New System.IO.StringWriter
Dim oHtmlTextWriter As New System.Web.UI.HtmlTextWriter(oStringWriter)
Dim sb As StringBuilder = New StringBuilder
sb.Append("<html xmlns:x='urn:schemas-microsoft-com:office:excel'><head> <!--[if gte mso 9]><xml>") '加这些x的可以保留网格线
sb.Append("<x:ExcelWorkbook>")
sb.Append("<x:ExcelWorksheets>")
sb.Append("<x:ExcelWorksheet>")
sb.Append("<x:Name>" & "月份加班统计表" & "</x:Name>")
sb.Append("<x:WorksheetOptions>")
sb.Append("<x:Print>")
sb.Append("<x:ValidPrinterInfo />")
sb.Append("</x:Print>")
sb.Append("</x:WorksheetOptions>")
sb.Append("</x:ExcelWorksheet>")
sb.Append("</x:ExcelWorksheets>")
sb.Append("</x:ExcelWorkbook>")
sb.Append("</xml>")
sb.Append("<![endif]--> <META http-equiv='Content-Type' content='text/html; charset=gb2312'></head><body>")
oStringWriter.Write(sb.ToString())
Table1.RenderControl(oHtmlTextWriter)'重点是这里 如果想导出整个页则page.RenderControl
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 1
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统