ASP.NET 实现读取与显示Excel数据代码示例
32 浏览量
更新于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`的数据控件,用于在网页上显示数据。
请注意,这个示例仅处理第一个工作表,并且没有处理可能出现的异常。在实际应用中,你应该添加适当的错误处理和验证,确保文件安全性和数据完整性。此外,对于大量的数据,考虑使用分页或其他优化技术,以提高性能和用户体验。
201 浏览量
547 浏览量
1441 浏览量
108 浏览量
195 浏览量
231 浏览量
2020-10-26 上传
249 浏览量
235 浏览量

weixin_38732811
- 粉丝: 6
最新资源
- 通用项目管理流程详解:责任矩阵与关键阶段
- 图基与逻辑基多关系数据挖掘对比分析
- 精通Python 2.1:权威指南
- Oracle PL/SQL学习教程:查询、运算与NULL处理
- Linux共享库详解:编写与优化技巧
- idl编程:交互数据处理与可视化利器
- 理解设计模式:简单工厂、工厂方法与抽象工厂
- ArcIMS入门指南:实现交互式GIS应用
- VC调试技巧详解:从入门到精通
- 构建全面的在线购物网站:从需求到实施
- C++实现的学生成绩管理系统与分治算法论文
- 湛江广播电视大学电子商务毕业设计:书籍专卖店网站
- VIM中文手册:Linux编辑器实战指南
- ATMEGA 48-88-168:高性能8位微处理器中文手册详解
- 网络工程师必备:X.25、ATM与OSI模型解析
- 赣冠教育自考学籍管理系统需求详解与设计要点