ASP.NET 实现读取与显示Excel数据代码示例
150 浏览量
更新于2024-08-31
收藏 145KB PDF 举报
"ASP.NET 实现读取并显示Excel数据的代码示例"
在ASP.NET中,有时我们需要从Excel文件中读取数据并在网页上显示。这个任务可以通过使用多种库和方法来完成,其中一个常见的方法是使用ADO.NET连接到Excel工作簿。下面的代码示例演示了如何在ASP.NET页面中实现这一功能。
首先,用户需要将Excel文件上传到服务器。这通常通过HTML表单和文件上传控件来实现。以下是一个简单的上传表单的HTML部分:
```html
<form id="form1" runat="server">
<div>
<table style="padding: 5px;font-size: 11px;" align="center" border="0">
<tbody>
<tr>
<td>
<strong>请选择包含工作详情的Excel文件...</strong>
</td>
</tr>
<tr>
<td>
<input type="file" id="excelFile" name="excelFile" />
<input type="submit" value="上传并读取数据" />
</td>
</tr>
</tbody>
</table>
</div>
</form>
```
接下来,我们需要处理文件上传并在服务器端读取Excel数据。在VB.NET中,这可以通过`System.Data.OleDb`命名空间中的`OleDbConnection`和`OleDbCommand`类来完成。以下是一段VB.NET代码示例,展示了如何读取Excel数据:
```vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not IsPostBack Then
' 清除已有的数据显示
GridView1.DataSource = Nothing
GridView1.DataBind()
Else
If Request.Files.Count > 0 Then
Dim excelFile As HttpPostedFile = Request.Files("excelFile")
If Not String.IsNullOrEmpty(excelFile.FileName) Then
' 检查文件是否为Excel格式
If (Path.GetExtension(excelFile.FileName).ToLower() = ".xls" OrElse Path.GetExtension(excelFile.FileName).ToLower() = ".xlsx") Then
' 保存上传的文件
excelFile.SaveAs(Server.MapPath("~/Uploads/") & excelFile.FileName)
' 构建数据库连接字符串
Dim connString As String = Nothing
If excelFile.FileName.EndsWith(".xls", StringComparison.OrdinalIgnoreCase) Then
connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("~/Uploads/") & excelFile.FileName & ";Extended Properties=""Excel 8.0;HDR=YES;IMEX=1"";"
ElseIf excelFile.FileName.EndsWith(".xlsx", StringComparison.OrdinalIgnoreCase) Then
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Server.MapPath("~/Uploads/") & excelFile.FileName & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"
End If
' 创建并打开数据库连接
Using conn As New OleDbConnection(connString)
conn.Open()
' 获取第一个工作表的名称
Dim sheetName As String = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing).Rows(0)("TABLE_NAME")
' 创建SQL查询
Dim sql As String = "SELECT * FROM [" & sheetName & "]"
' 创建并执行SQL命令
Using cmd As New OleDbCommand(sql, conn)
Dim adapter As New OleDbDataAdapter(cmd)
Dim dt As New DataTable()
adapter.Fill(dt)
' 绑定数据到GridView
GridView1.DataSource = dt
GridView1.DataBind()
End Using
conn.Close()
End Using
Else
' 显示错误信息:不是有效的Excel文件
Response.Write("上传的文件不是有效的Excel文件,请重新选择。")
End If
End If
End If
End If
End Sub
```
这段代码首先检查上传的文件是否为Excel格式,然后保存文件到服务器的特定目录。接着,它根据文件的扩展名(`.xls` 或 `.xlsx`)构建相应的OleDb连接字符串,并打开连接。然后,它获取Excel文件的第一个工作表的名称,构造SQL查询,并执行查询以填充一个`DataTable`。最后,这个数据绑定到一个名为`GridView1`的数据控件,用于在网页上显示数据。
请注意,这个示例仅处理第一个工作表,并且没有处理可能出现的异常。在实际应用中,你应该添加适当的错误处理和验证,确保文件安全性和数据完整性。此外,对于大量的数据,考虑使用分页或其他优化技术,以提高性能和用户体验。
2011-06-24 上传
2019-03-01 上传
111 浏览量
2021-01-01 上传
点击了解资源详情
107 浏览量
2021-01-01 上传
2014-06-11 上传
2020-10-27 上传
weixin_38732811
- 粉丝: 6
- 资源: 958
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库