首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
iiprogram (74)
nizhigang2000 (3)
hongbo781202 (81)
Kendiv (113)
TechnoFantasy (52)
feifei1018 (19)
coofucoo (108)
qingrun (67)
btbtd (83)
longrujun (64)
CSDN - 文档中心 - .NET 阅读:19542   评论: 9    参与评论
标题   把Excel文件中的数据读入到DataGrid中     选择自 net_lover 的 Blog
关键字   DataGrid
出处  

把Excel文件中的数据读入到DataGrid中

使用Excel文件做为DataGrid的数据源是非常简单的,一旦数据被装载进来,就可以把数据再保存进SQL Server或XML中。我们只需要简单地使用OLE DB Provider 来访问Excel文件,然后返回DataSet即可。
下面是要显示的Excel数据contact.xls:

姓名
性别
地址
net_lover Male amxh@21cn.com
amxh Male amxh@21cn.com
孟子 E Male amxh@21cn.com

<%@ Page Language="C#" Debug="true" %>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<script runat="server">
private DataSet CreateDataSource(){
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\Inetpub\\wwwroot\\contacts.xls;"+
"Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [ContactList$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet);
return myDataSet;
}
 
public void Page_Load(Object sender, EventArgs e){
if (!IsPostBack) {
mygrid.DataSource = CreateDataSource();
mygrid.DataBind();
} 
}

</script>

<center>
<form runat="server">
<asp:datagrid runat="server" AutoGenerateColumns="false" 
width="500" id="mygrid">
<HeaderStyle BorderColor="White" BackColor="black" 
ForeColor="White" 
Font-Bold="True" 
Font-Name="Arial" 
Font-Size="9" HorizontalAlign="Center"/>
<ItemStyle   BorderColor="" 
BackColor="#FFFFF0" 
ForeColor="Black" 
Font-Name="Arial" 
Font-Size="8" 
Font-Bold="False" HorizontalAlign="Center"/>
<Columns>
<asp:BoundColumn HeaderText="姓名" ReadOnly="true" DataField="姓名"/>
<asp:BoundColumn HeaderText="性别" ReadOnly="true" DataField="性别"/>
<asp:BoundColumn HeaderText="Email" ReadOnly="true" DataField="地址"/>
</Columns>
</asp:datagrid>
</form>

只需要指定Excel路径,并用[]选择一个工作表即可。

更多内容请参考


相关文章
对该文的评论
greenhander ( 2005-12-09)
[ContactList$]
表名的后面必须加$符号,才可以读出来。。
CSDN 网友 ( 2005-11-22)
有一款第三方国产控件不错SmartGrid for Asp.Net, 我国第一个商用DataGrid for Asp.Net, 去看看吧, 的确可以:) www.sinos.com.cn
CSDN 网友 ( 2005-06-03)
好像不行啊,老是提示找不到表或查询
liuliu6298711 ( 2004-06-27)
首先感谢斑竹提供的这文档,不过我还有些问题要请教斑竹。在导入到数据集的过程中发生数据类型不对的错误。因为我要导的Excel表中在同一列里,有不同的数据类型。这种情况怎么解决阿?望不吝赐教. 我的E-mail liuliu6298711@163.com
guihengzhang ( 2004-06-08)
但是我发觉如果有多个用户同时使用的话,
myCommand.Fill(myDataSet);  就会出现问题,不能获取数据(始终停在该语句上)。不知是什么问题。