C#/net EXCEL(.xls和.xlsx)导入到数据库
来源:互联网 发布:福建广电网络 宽带业务 编辑:程序博客网 时间:2024/06/06 20:47
原理:
1.判断是否是Excel文件(xls和xlsx两种文件格式,Excel2003和Excle2007)
2.上传Excel文件到服务器的文件夹(要在服务器设置用户ASPNET对此文件夹的读写权限)
3.对此Excel文件进行操作(可以作为OLEdb数据源、ODBC数据源,还可以通过创建Excel.ApplicationClass)
GridView1.DataSource = null;
GridView1.DataBind();//先清除GridView1之前的数据绑定
#region 显示Excel数据
string clientFilename = FileUpload1.PostedFile.FileName.ToLower();
string serverFilename = "";
if (clientFilename == "")
{
Label1.Text = "Path and filename can't null!";
return;
}
if (clientFilename.ToLower().IndexOf(".xlsx") > 0)
{
serverFilename = ".xlsx";
}
else
{
if (clientFilename.ToLower().IndexOf(".xls") > 0 && clientFilename.EndsWith("xls"))
{
serverFilename = ".xls";
}
else
{
Label1.Text = "Must be Excel file!";
return;
}
}
serverFilename = "~/upload/" + "Test" + DateTime.Now.Year.ToString()
+ (DateTime.Now.Month > 9 ? DateTime.Now.Month.ToString() : "0" + DateTime.Now.Month.ToString())
+ (DateTime.Now.Day > 9 ? DateTime.Now.Day.ToString() : "0" + DateTime.Now.Day.ToString())
+ (DateTime.Now.Hour > 9 ? DateTime.Now.Hour.ToString() : "0" + DateTime.Now.Hour.ToString())
+ (DateTime.Now.Minute > 9 ? DateTime.Now.Minute.ToString() : "0" + DateTime.Now.Minute.ToString())
+ (DateTime.Now.Second > 9 ? DateTime.Now.Second.ToString() : "0" + DateTime.Now.Second.ToString())
+ DateTime.Now.Millisecond.ToString()+serverFilename;
serverFilename = MapPath(serverFilename);
if (File.Exists(serverFilename))
{
File.Delete(serverFilename);
}
FileUpload1.SaveAs(serverFilename);//上传文件
string strResult = "";
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + serverFilename + "';Extended Properties='Excel 8.0;HDR=YES;'";
DataTable dt = new DataTable();
if (serverFilename.ToLower().IndexOf(".xlsx") > 0)
{
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + serverFilename + "';Extended Properties='Excel 12.0;HDR=YES'";
}
if (serverFilename.ToLower().IndexOf(".xls") > 0 && serverFilename.EndsWith("xls"))
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + serverFilename + "';Extended Properties='Excel 8.0;HDR=YES;'";
}
OleDbConnection conn = new OleDbConnection(strConn);
try
{
if (conn.State.ToString() == "Closed")
{
conn.Open();
}
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [sheet1$]", strConn);
adapter.Fill(dt);
this.GridView1.DataSource = dt;
GridView1.DataBind();
conn.Close();
}
catch (Exception ee)
{
Label1.Text = Label1.Text + " File's content can't matched,please redo it!" + ee.Message;
//Label1用来显示错误信息
return;
}
转(http://www.cnblogs.com/bart-cai/articles/2716555.html)
- C#/net EXCEL(.xls和.xlsx)导入到数据库
- 导入excel,xls,xlsx
- POI导入Excel含.xls和.xlsx
- SSM+Maven+Bootstrap导入excel数据到数据库(支持XLSX,XLS格式)
- Java之excel导入数据同时兼容.xls和.xlsx
- Java:xls和xlsx导入
- excel 解析 xls 和 xlsx
- excel文件导入(xls,xlsx)
- 导出信息到.xls .xlsx Excel表
- POI导入,兼容xlsx 和 xls
- java导入xls和xlsx格式
- POI解析Excel(.xls)和Excel2007(.xlsx)
- struts1 poi Excel批量导入支持xls和xlsx-源码java
- java导入和导出excel文档(支持xls,xlsx格式)
- poi导入导出excel文件,兼容.xls和.xlsx两种格式
- java导入和导出excel文档(支持xls,xlsx格式)
- poi简单的导入和导出Excel表格(xls。xlsx)
- C# NPOI 导入与导出Excel文档 兼容xlsx, xls
- vs2015企业版安装教程
- 101.反转串
- java基础总结八(面向对象、类、对象、封装)
- 100.猜数字
- canvas(2)
- C#/net EXCEL(.xls和.xlsx)导入到数据库
- hashCode与equals的区别与联系
- C#和JavaScript交互(asp.net前台和后台互调)总结
- Java方法的可变参数类型
- 长连接和心跳的那些事儿
- 包装类DataOutputStream、DataInputStream的常见用法
- JAVA 异常 throwable exception error throws throw
- 学习Spring必学的Java基础知识(1)----反射
- Spring的事务管理难点剖析(2):应用分层的迷惑