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

2、

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

  

   protected void btn_ExInto_pass_Click(object sender, EventArgs e)    //导入
{
if (FileUpload1.HasFile == false)
{
Alert.Show("请您选择Excel文件");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
if (IsXls != ".xls")
{
Alert.Show("只可以选择Excel文件");
return;//当选择的不是Excel文件时,返回
}
string filename = FileUpload1.FileName; //获取Execle文件名
string dirPath = "UpLoadFile\\" + System.DateTime.Now.Year.ToString();
if (!Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + dirPath))
Directory.CreateDirectory(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + dirPath); Random rand = new Random(unchecked((int)DateTime.Now.Ticks));
string strpath = dirPath + "\\" + DateTime.Now.ToString("MMddHHmmss") + rand.Next(, ).ToString() + ".xls"; //获取Execle文件路径
string strError = "", strRepeat = "", asMsg = "";
strpath = Server.MapPath(strpath);
FileUpload1.PostedFile.SaveAs(strpath); DataSet ds = ExecleDs(strpath, filename);
if (ds == null || ds.Tables[].Rows.Count == )
{
Alert.Show("Excel表为空表,无数据!"); //当Excel表为空时,对用户进行提示
}
else
{
//for add for (int i = ; i < ds.Tables[].Rows.Count; i++)
{
string sql_str = "INSERT INTO PoInfo VALUES('" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'" + ds.Tables[].Rows[i][] + "' ,'')"; int row = SqlHelper.ExecuteSql(SqlHelper.LocalSqlServer, sql_str); } Alert.Show("导入数据成功!");
BindGrid(); }
}
public DataSet ExecleDs(string filenameurl, string table)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
try
{
odda.Fill(ds, table);
}
catch (Exception)
{
throw;
}
finally
{
odda.Dispose();
conn.Close();
conn.Dispose();
System.IO.File.Delete(filenameurl); //删除文件
}
return ds;
}

ASP.NET 导入excel 数据的更多相关文章

  1. Asp.net 导入Excel数据

    前台代码: <body> <form id="form1" runat="server"> <div> <asp:Fi ...

  2. Asp.Net Core 导入Excel数据到Sqlite数据库并重新导出到Excel

    Asp.Net Core 导入Excel数据到Sqlite数据库并重新导出到Excel 在博文"在Asp.Net Core 使用 Sqlite 数据库"中创建了ASP.NET Co ...

  3. 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程

    1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...

  4. SQL Server服务器上需要导入Excel数据的必要条件

    SQL Server服务器上需要导入Excel数据,必须安装2007 Office system 驱动程序:数据连接组件,或者Access2010的数据库引擎可再发行程序包,这样就不必在服务器上装Ex ...

  5. PLSQL Developer导入Excel数据

    LSQL Developer导入Excel数据 最近处理将Excel数据导入Oracle的工作比较多.之前都是采用Sqlldr命令行导入的方式处理.每次导入不同格式的Excel表数据,都需要先把Exc ...

  6. [转] Asp.Net 导出 Excel 数据的9种方案

    湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...

  7. 导入excel数据

    前提条件:先要安装好EXCEL软件. 程序中经常要用到导入excel数据的功能.其实通过ole操作excel就简单的几行代码,但记性不好,经常要用经常要找, 还是作篇笔记吧. var ExcelApp ...

  8. (转)PLSQL Developer导入Excel数据

    场景:近来在做加班记录的统计,主要是统计Excel表格中的时间,因为我对于Excel表格的操作不是很熟悉,所以就想到把表格中的数据导入到数据库中,通过脚本语言来统计,就很方便了!但是目前来看,我还没有 ...

  9. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

随机推荐

  1. javascript集合求交集

    两集合求交集 思路: 1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存.该算法复杂度为 O(MN). M, N 分别为数组 A B 的长度. 2. 因为A B 都排过序,所以 ...

  2. Centos系统mysql 忘记root用户的密码:

    第一步:(停掉正在运行的mysql) [root@maomao ~]# service mysqld stop  Stopping MySQL:                             ...

  3. openStack core service Components Ins shell scripts and simple provision

    will to be announced,functional testing,tuning,debuging.....,Enthusiastic audience Please to wait pa ...

  4. hdu4491 Windmill Animation(计算几何)

    Windmill Animation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  5. HDU 1002 A + B Problem II(大整数相加)

    A + B Problem II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u De ...

  6. 度小于所述过程:es.exe

    在防火墙管理,见未知的过程"es.exe" 程序信息: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font ...

  7. 关于MVC EntityType has no key defined的问题

    关于MVC EntityType has no key defined的问题 在测试MVC时发现一个奇怪的问题,在Model中定义数据类时,如 public class UserInfo { publ ...

  8. 条款16:成对使用new和delete时,采取相同的形式

    问题聚焦:     我们都知道,new和delete要成对使用,但是有时候,事情往往不是按我们预期的那样发展.     对于单一对象和对象数组,我们要分开考虑.     遇到typedef时,也需要搞 ...

  9. C++对象模型--C++对象模型

    何为C++对象模型? 部分: 1       语言中直接支持面向对象程序设计的部分 2       对于各种支持的底层实现机制 语言中直接支持面向对象程序设计的部分,如构造函数.析构函数.虚函数.继承 ...

  10. 织梦dedecms|文章页通用标签

    当前位置: {dede:field name='position'/}上一页: {dede:prenext get='pre'/}下一页:    {dede:prenext get='next'/}收 ...