protected void Button1_Click(object sender, EventArgs e)
{

if (station.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = Path.GetExtension(station.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xlsx" && IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
string filename = station.FileName; //获取Execle文件名 DateTime日期函数
string savePath = "F:\\数据处理___________\\" + filename;//Server.MapPath 获得虚拟服务器相对路径
DataTable dt = new DataTable();
//station.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
dt = GetExcelDatatable(savePath); //调用自定义方法

}

public System.Data.DataTable GetExcelDatatable(string fileUrl)
{
//支持.xls和.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是标题,不是数据;
string cmdText = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
System.Data.DataTable dt = null;
//建立连接
OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
try
{
//打开连接
if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
{
conn.Open();
}

System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string strSql = "select * from [Sheet1$]";
OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
dt = ds.Tables[0];
return dt;
}
catch (Exception exc)
{
throw exc;
}
finally
{
conn.Close();
conn.Dispose();
}
}

最新文章

  1. DSP using Matlab 书内练习Example 2.1
  2. 跨集群 distcp命令
  3. struts2.3.16所需的基本的jar包
  4. Linux改变文件或目录的访问权限命令
  5. JAVA通过C3P0连接数据库
  6. MAC OSX使用公钥方式登录Linux服务器并进行安全加固
  7. php json中文处理方法,请json更懂中文
  8. UML系列图------用例图介绍
  9. hdu 3047 Zjnu Stadium(加权并查集)2009 Multi-University Training Contest 14
  10. 在button中加入一个view图片
  11. ORA-00937:不是单组分组函数_Oracle
  12. javascript模式——Mixin
  13. oracle查询字符集语句
  14. cocos2dx的模板容器简单使用(Vector,Map,Value)
  15. python之实现批量远程执行命令(堡垒机)
  16. 【5】namenode启动过程
  17. String String Buffer String Builder
  18. Notice to users of DB Query Analyzer in Windows 7, Windows 8 and Windows 10
  19. php项目中使用element.ui和vue
  20. 20秒教你如何写maven2的pom文件的依赖包

热门文章

  1. 2019-7-25-VisualStudio-2019-新创建项目添加-git-仓库
  2. 利用mock生成随机的东西
  3. Getting started with the basics of programming exercises_2
  4. H3C UDP封装
  5. 【BestCoder Round #93 1002】MG loves apple
  6. SQL server无法绑定由多个部分绑定的标示符
  7. 日历价差(calendar spread)
  8. 小程序与HTML5的区别
  9. addEventListener() 方法,事件监听(去哪儿网用到过)
  10. 2018-9-14-win10-UWP-标题栏后退