gridview读取Excel文件中的数据,并将其导入数据库
原文发布时间为:2008-10-16 —— 来源于本人的百度文章 [由搬家工具导入]
//将需要导入的文件上传到服务器
string filePath = "", fileExtName = "";
//string myFileName;//用不到,但也写上吧
string myPath;
string FullName = "";//保存文件的完整文件名
if(fileUp.PostedFile.FileName!="")
{
//取得文件路径
filePath = fileUp.PostedFile.FileName;
//取得文件扩展名
fileExtName = filePath.Substring(filePath.LastIndexOf(".")+1);
//判断是否为Excel文件
if (fileExtName == "xls")
{
try
{
//取得与web服务器上指定的虚拟路径相对应的物理路径
myPath = Server.MapPath("Upfiles/");
//取得文件名
//myFileName = filePath.Substring(filePath.LastIndexOf("")+1);
//取得当前时间,以“时时分分秒秒”来命名,以免重复
string strDateName = DateTime.Now.ToString("hhmmss");
//保存上传文件到指定目录
FullName = myPath + strDateName + "." + fileExtName;
fileUp.PostedFile.SaveAs(FullName);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
else
{
Page.RegisterStartupScript("","<SCRIPT>alert('文件格式不正确');</SCRIPT>");
return;
}
}
//读取Excel中的内容
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FullName + ";Extended Properties=Excel 8.0;";
OleDbConnection connxls = new OleDbConnection(strConn);
if(connxls.State.ToString()=="Closed")
{
connxls.Open();
}
string sqlExcel=("select * from [Sheet1$]");
OleDbDataAdapter myDa = new OleDbDataAdapter(sqlExcel,connxls);
DataSet myDs = new DataSet();
myDa.Fill(myDs);
if (myDs.Tables[0].Rows.Count > 0)
{
/***************将数据绑定到gridview*****************************************************/
try
{
GridView1.DataSource = myDs.Tables[0].DefaultView;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write("读取出错" + ex.Message);
}
/***************绑定完成******************************************************************/
/********将数据导入到数据库,如果有对应的SQLserver2000数据库,要求字段要一一对应**********/
string mySql = "";
//链接SQLserver2005数据库
string sqlConn = "server=.\\SQLEXPRESS;database=learning;user id=sa;pwd=sasasa";
SqlConnection con = new SqlConnection(sqlConn);
if(con.State.ToString()=="Closed")
{
con.Open();
}
SqlCommand myCmd = new SqlCommand();
//将数据逐行写入到数据库中
for (int i = 0; i < myDs.Tables[0].Rows.Count; i++)
{
//数据库中三个字段,所以插入三列
mySql = ("insert into myInfo(myname,sex,mylike) values('" + myDs.Tables[0].Rows[i][0].ToString() + "',"+
"'" + myDs.Tables[0].Rows[i][1].ToString() + "','" + myDs.Tables[0].Rows[i][2].ToString() + "')");
myCmd.Connection = con;
myCmd.CommandText = mySql;
try
{
myCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write("将数据插入数据库时出错" + ex.Message);
}
}
Response.Write("<SCRIPT>alert('数据已成功导入到数据库!');</SCRIPT>");
if(con.State.ToString()=="Open")
{
con.Close();
}
/*********导入数据库完成******************************************************************/
}
else
{
Page.RegisterStartupScript("","<SCRIPT>alert('Excel中没有数据!');</SCRIPT>");
}
if(connxls.State.ToString()=="Open")
{
connxls.Close();
}
gridview读取Excel文件中的数据,并将其导入数据库的更多相关文章
- 用python的pandas读取excel文件中的数据
一.读取Excel文件 使用pandas的read_excel()方法,可通过文件路径直接读取.注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件.并 ...
- matlab读取excel文件中的数据
1.读取sheet1中的所有数据 1.1首先我们建立一个sheet表,表名为‘111’ 1.2 默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤), 选入当前工作 ...
- Newtonsoft.Json读取txt文件中json数据并存到SQL service 数据库!
using System; using System.Collections.Generic; using System.Text; using System.IO; using Newtonsoft ...
- Java读取、写入、处理Excel文件中的数据(转载)
原文链接 在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Ex ...
- [Python]将Excel文件中的数据导入MySQL
Github Link 需求 现有2000+文件夹,每个文件夹下有若干excel文件,现在要将这些excel文件中的数据导入mysql. 每个excel文件的第一行是无效数据. 除了excel文件中已 ...
- 读取Excel文件中的单元格的内容和颜色
怎样读取Excel文件中的单元格的内容和颜色 先创建一个Excel文件,在A1和A2中随意输入内容,设置A1的字体颜色为红色,A2的背景为黄色.需要 using Excel = Microsoft.O ...
- 利用java反射机制实现读取excel表格中的数据
如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...
- 用Python的pandas框架操作Excel文件中的数据教程
用Python的pandas框架操作Excel文件中的数据教程 本文的目的,是向您展示如何使用pandas 来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其 ...
- .Net读取Excel文件时丢失数据的问题 (转载)
相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES; ...
随机推荐
- LN : leetcode 486 Predict the Winner
lc 486 Predict the Winner 486 Predict the Winner Given an array of scores that are non-negative inte ...
- 【学习笔记】Base64编码解码原理及手动实现(C#)
1.[Base64编码原理]@叶落为重生 -base64的编码都是按字符串长度,以每3个8bit的字符为一组,-然后针对每组,首先获取每个字符的ASCII编码,-然后将ASCII编码转换成8bit的二 ...
- BOM学习-javascript计时器小结
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- vmware让虚拟机内外网络可互访
以下方法可使主机可以ping通虚拟机,虚拟机也可以ping通主机 首先对虚拟机设置 然后设置虚拟机,假设主机的ip是10.0.0.9,那虚拟机的ip应如下设置: 其中ip地址任意设置一个,但要求跟主机 ...
- 阻止JEB 1.5频繁弹窗的办法
偶尔才用一次的JEB, 出现 “Controller没有响应或者无法访问, JEB即将终止.” 也懒得去逆了.直接用ProcessHacker找到对应的线程挂起即可.当然这只是临时的办法..我也只是临 ...
- 秒杀Sublime Text的微软开源代码编辑工具Visual Studio Code
1. 下载链接: https://code.visualstudio.com/ 2. 秒开一个ASP.NET网站源码 3.编辑CSS颜色支持 4.Git支持 5.常用快捷键 Ctrl+Shift+P ...
- react基础语法(二)常用语法如:样式 ,自定义属性,常用表达式
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HDU 5410 CRB and His Birthday (01背包,完全背包,混合)
题意:有n种商品,每种商品中有a个糖果,如果买这种商品就送多b个糖果,只有第一次买的时候才送.现在有m元,最多能买多少糖果? 思路:第一次买一种商品时有送糖果,对这一次进行一次01背包,也就是只能买一 ...
- Oracle数据库升级前必要的准备工作
Oracle数据库升级向来是一门纷繁复杂的工程,DBA需要为产品数据库的升级耗费大量时间精力在准备工作上:因为其升级复杂度高,所以即便做了较为充分的准备仍可能在升级过程中遇到意想不到的问题,为了更高效 ...
- javaweb系列-关于HttpSessionListener的sessionDestroyed什么时候触发
根据书本写了下面这个监听器,然后开始调试,打开一个浏览器来访问该网页,可以正常触发sessionCreated,然后关闭浏览器,发现没有触发sessionDestroyed,然后我怀疑是不是这个监听器 ...