文档章节

ASP.NET 导入excel 数据

NathanJoy
 NathanJoy
发布于 2016/04/22 18:45
字数 415
阅读 14
收藏 0

1,需要给上传文件的目录给予权限

2、

<asp:FileUpload ID="FileUpload1" runat="server" />  
        <asp:Button ID="btn_ExInto_pass" runat="server" Text="导入" OnClick="btn_ExInto_pass_Click" />

  

 

 1   protected void btn_ExInto_pass_Click(object sender, EventArgs e)    //导入
 2         {
 3             if (FileUpload1.HasFile == false)
 4             {
 5                 Alert.Show("请您选择Excel文件");
 6                 return;//当无文件时,返回        
 7             }
 8             string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
 9             if (IsXls != ".xls")
10             {
11                 Alert.Show("只可以选择Excel文件");
12                 return;//当选择的不是Excel文件时,返回       
13             }
14             string filename = FileUpload1.FileName;                     //获取Execle文件名  
15             string dirPath = "UpLoadFile\\" + System.DateTime.Now.Year.ToString();
16             if (!Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + dirPath))
17                 Directory.CreateDirectory(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + dirPath);
18 
19             Random rand = new Random(unchecked((int)DateTime.Now.Ticks));
20             string strpath = dirPath + "\\" + DateTime.Now.ToString("MMddHHmmss") + rand.Next(1000, 9999).ToString() + ".xls";  //获取Execle文件路径 
21             string strError = "", strRepeat = "", asMsg = "";
22             strpath = Server.MapPath(strpath);
23             FileUpload1.PostedFile.SaveAs(strpath);
24 
25             DataSet ds = ExecleDs(strpath, filename);
26             if (ds == null || ds.Tables[0].Rows.Count == 0)
27             {
28                 Alert.Show("Excel表为空表,无数据!");   //当Excel表为空时,对用户进行提示       
29             }
30             else
31             {
32                 //for add
33 
34                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
35                 {
36                     string sql_str = "INSERT INTO PoInfo VALUES('" + ds.Tables[0].Rows[i][0] + "' ,'" + ds.Tables[0].Rows[i][1] + "'  ,'" + ds.Tables[0].Rows[i][2] + "' ,'" + ds.Tables[0].Rows[i][3] + "' ,'" + ds.Tables[0].Rows[i][4] + "'  ,'" + ds.Tables[0].Rows[i][5] + "'  ,'" + ds.Tables[0].Rows[i][6] + "'  ,'" + ds.Tables[0].Rows[i][7] + "'  ,'" + ds.Tables[0].Rows[i][8] + "'  ,'" + ds.Tables[0].Rows[i][9] + "'  ,'" + ds.Tables[0].Rows[i][10] + "'  ,'" + ds.Tables[0].Rows[i][11] + "'  ,'" + ds.Tables[0].Rows[i][12] + "'  ,'')";
37 
38                    int row = SqlHelper.ExecuteSql(SqlHelper.LocalSqlServer, sql_str);
39 
40                 }
41 
42                 Alert.Show("导入数据成功!");
43                 BindGrid();
44 
45             }
46         }
47         public DataSet ExecleDs(string filenameurl, string table)
48         {
49             string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
50             OleDbConnection conn = new OleDbConnection(strConn);
51             conn.Open();
52             OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
53             DataSet ds = new DataSet();
54             try
55             {
56                 odda.Fill(ds, table);
57             }
58             catch (Exception)
59             {
60                 throw;
61             }
62             finally
63             {
64                 odda.Dispose();
65                 conn.Close();
66                 conn.Dispose();
67                 System.IO.File.Delete(filenameurl);    //删除文件
68             }
69             return ds;
70         }

 

本文转载自:http://www.cnblogs.com/freegodly/p/4208287.html

NathanJoy

NathanJoy

粉丝 1
博文 21
码字总数 5090
作品 0
西安
程序员
私信 提问
创建和管理Excel文件的控件Spire.XLS for .NET

Spire.XLS for .NET控件是e-iceblue公司开发的一款支持对所有Excel格式类型文件进行操作的.NET 控件。它适用于任何类型的应用程序比如ASP.NET Web应用程序或者Windows桌面应用程序。Spire.X...

netkongjian
2014/06/24
114
0
表格控件 Spread Studio 发布 V10 版本

Spread Studio 表格控件是一个功能和 Excel 类似的表格控件。用于在应用系统中实现表格数据录入和编辑等交互功能,并且提供灵活的定制能力和丰富的数据可视化效果。 近日 Spread Studio V10 ...

葡萄城技术团队
2016/12/02
1K
0
完全独立的功能强大创建和管理Excel控件Aspose.Cells​

Aspose.Cells控件包含有一个类库,支持所有Excel格式类型的操作。它是一个非图形表格管理库,可适用于任何类型的应用程序(ASP.NET Web应用程序或Windows桌面应用程序)。此外,组件也可以用...

yidongkaifa
2014/06/21
220
0
可视化电子表格控件Aspose.Cell详细介绍及下载地址

Aspose.Cells包含有一个类库,支持所有Excel格式类型的操作。它是一个非图形表格管理库,可适用于任何类型的应用程序(ASP.NET Web应用程序或Windows桌面应用程序)。此外,组件也可以用于如...

yidongkaifa
2014/08/08
324
0
Spread Studio for .NET 7 v4 正式发布

此次是 2014 年的第二次发布,在该版本中添加了来自用户所提出的部分需求,同时,修复了 Spread for WinForms、Spread for ASP.NET、Spread WPF-Silverlight 和 Spread WinRT 平台产品的若干...

葡萄城技术团队
2014/08/13
3.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
10
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
6
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
11
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部