1.前台代码

<asp:FileUpload ID="fupFiles" runat="server" />
<asp:Button ID="btnImprot" runat="server" Text="导入" OnClick="btnImprot_Click" />

2.后台代码

  protected void btnImprot_Click(object sender, EventArgs e)
{
String fileName = System.IO.Path.GetFileName(fupFiles.FileName);
String path = Server.MapPath("~/" + fileName);
fupFiles.SaveAs(path); DataTable dt = ImportExcelByDB(path); }
public static DataTable ImportExcelByDB(string physicalPath)
{
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + physicalPath + ";Extended Properties='Excel 8.0;HDR=yes'";
// Excel 2007
if (physicalPath.ToLower().IndexOf(".xlsx") > && physicalPath.ToLower().EndsWith("xlsx"))
{
//strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + physicalPath + "';Extended Properties='Excel 12.0;HDR=YES'";
//strConn = "'Microsoft.ACE.OLEDB.12.0','Data Source=" + physicalPath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"'";
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + physicalPath + ";Extended Properties='Excel 8.0;HDR=yes'";
}
// Excel 2003
if (physicalPath.ToLower().IndexOf(".xls") > && physicalPath.ToLower().EndsWith("xls"))
{
//strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + physicalPath + "';Extended Properties='Excel 8.0;HDR=YES;'";
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + physicalPath + "';Extended Properties=Excel 8.0";
}
DataSet dst = new DataSet();
OleDbConnection conn = new OleDbConnection(strConn);
try
{
if (conn.State.ToString() == "Closed")
{
conn.Open();
}
dst.Clear();
string strSql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, conn);
adapter.Fill(dst, "[Sheet1$]");
conn.Close();
}
catch (Exception ee)
{
return null;
}
return dst.Tables[];
}

Excel导入到DataTable的更多相关文章

  1. Excel 导入到Datatable 中,再使用常规方法写入数据库

    首先呢?要看你的电脑的office版本,我的是office 2013 .为了使用oledb程序,需要安装一个引擎.名字为AccessDatabaseEngine.exe.这里不过多介绍了哦.它的数据库 ...

  2. Excel导入到DataTable ,DataTable导入到Excel

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS. ...

  3. excel导入DataTable

    http://www.cnblogs.com/top5/archive/2010/03/12/1684559.html --下载excel的dll http://bbs.csdn.net/topics ...

  4. Asp.Net 常用工具类之Office—Excel导入(5)

    之前在做一个项目的时候,客户方面只提供了一份简单的Excel文件,且要跟现有数据进行对接. 当时想到的是如果数据量不大,可以Excel一条一条加进去,无奈数据有几十兆!!! 换了一种思维,进行了导入: ...

  5. 通用的高度可扩展的Excel导入实现(附Demo)

    Demo源码 背景 通过程序将excel导入到数据库中是一项非常常见的功能.通常的做法是:先将excel转成DataTable,然后将DataTable转换成List<T>,最终通过Lis ...

  6. NPOI操作Excel导入DataTable中

    using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Data; using System.IO; using NPOI.X ...

  7. C#-导入Excel 内容到 DataTable中

    C#-导入Excel 内容到 DataTable中 直接传入文件路径,支持所有Excel格式. 缺点:如果数据量庞大会很占内存. public static DataTable ImportExcel ...

  8. datatable的excel导入,其中有关于datatables的很多参数设置

    datatable的excel导入,其中有关于datatables的很多参数设置 http://www.cnblogs.com/liyuhuan/p/5633095.html

  9. 解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

    做项目的时候,C#读取Excel数据到DataTable或者DataSet,设断点查看DataTable,发现Excel的显示为较长位数数字的字段如0.000012在DataTable中显示为科学计数 ...

随机推荐

  1. 利用树莓派跑python爬虫的简单教程——从无到有

    因为学校项目的原因入手了树莓派,到手先折腾了两天,发现网上的教程大都是拿他搭建服务器,mail,或者媒体服务器之类,对于在学校限时的宽带来说有点不太现实,不过低功耗适合一直开着的确启发了我.所以想到拿 ...

  2. js void运用

    谈谈Javascript中的void操作符 http://segmentfault.com/a/1190000000474941 总结: void有如下作用: 通过采用void 0取undefined ...

  3. HttpClient3.1设置header信息

    HttpClient client = new HttpClient(); GetMethod get = new GetMethod(URL); get.setRequestHeader(" ...

  4. Android IntentService 与Alarm开启任务关闭任务

    1:MyService public class MyService extends IntentService{ AlarmManager alarmManager = null; PendingI ...

  5. 【MVC4 之 ViewData ViewBag TempData】

    ViewData (一个字典集合类型):传入的key必须是string类型,可以保存任意对象信息,特点:它只会存在这次的HTTP的要求中而已,并不像session可以将数据带到下一个Http要求. V ...

  6. WIN下和LINUX动态库的区别

    **************************************************************************************************** ...

  7. java实现xml-rpc客户端和服务端

    客户端代码: package test_xmlrpc.test; import java.net.URL;import java.util.ArrayList;import java.util.Lis ...

  8. Java算法简介及排序剖析

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 从小白晋升,一路走来:从helloworld,到JFrame,再到Android:从城外小子,到内城 ...

  9. Yeslab现任明教教主数据中心第二门课程UCS 视频教程下载

    Yeslab现任明教教主数据中心第二门课程UCS 视频教程下载 视频教程目录 Yeslab现任明教教主数据中心第二门课程UCS.1.介绍UCS.rar Yeslab现任明教教主数据中心第二门课程UCS ...

  10. 出现security ioError 安全沙箱问题

    client安全沙箱 通配策略 crossdomain <?xml version="1.0" encoding="UTF-8"?> <!DO ...