乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎样用<em>SQL</em> Server 2008 <em>SQL</e

怎样用<em>SQL</em> Server 2008 <em>SQL</e

作者:乔山办公网日期:

返回目录:excel表格制作


鼠标点在要导入的数据库上,右键出现菜单框 ,选择 所有工作---导入数zhidao据,然後按照对话框一步步执行就行了
要注意excel里的第一行空出来,因为导入的时候会把第一行数据默认为抬头,第一行数据就不会导入 ,还有就是你的栏位数量要一致

在查询分析器里,直接写 SQL语句:

如果是导入数据到现有表,则采用

INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式

如果是导入数据并新增表,则采用

SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

的形式。

以上语句是将 EXCEL文件里 SHEET1工作表中所有的列都读进来,如果只想导部分列,可以

INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)

其实可以将 OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:

INSERT INTO eval_channel_employee(channel,employee_id)

SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END

,b.id FROM

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b

WHERE a.员工编码 =b.code

简单的方法:
SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。

操作过程如下:

第一步:登录到 SQL Server Management Studio,

第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在弹出列表中单击 “导入数据 ”

第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)

第四步:指定目标数据库服e799bee5baa6e997aee7ad94e59b9ee7ad94336务,依次单击 “下一步 ”。。。。至到 “完成 ”

第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。

你试下下面的吧:
打开SQL Server Configuration Manager,启用SQL Server Agent(实例名)。 启动模式更改为“自动”
  1. 打开excel→数据标签→自其他来源→来自SQL Server→在弹出的对话框里先输入服务器的连接地址。

  2. 如果本机可以输入.或者127.0.0.1(非express版本的数据库),这里的输入跟数据库连接里的设置基本一致→输入完连接信息点下一步→选择对应的数据库→选择完数据库就可以选择库中的表或者视图了→下一步→完成→确定→输入数据库密码,然后确定。



Excel导入SQL数据库完整代码
protected void studentload_Click(object sender, EventArgs e)
{//批量添加学生信息
SqlConnection conn = DB.dataBaseConn();//链接数据库
conn.Open();
try
{
string fileurl = typename(studentFileUpload);//调用typename方法取得excel文件路径
DataSet ds = new DataSet();//取得数据集
ds = xsldata(fileurl);
int errorcount = 0;//记录错误信息条数
int insertcount = 0;//记录插入成功条数
int updatecount = 0;//记录更新信息条数
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string stuid = ds.Tables[0].Rows[i][0].ToString();
string stuname = ds.Tables[0].Rows[i][1].ToString();
string stusex = ds.Tables[0].Rows[i][2].ToString();
string zhuanye = ds.Tables[0].Rows[i][3].ToString();
string classname = ds.Tables[0].Rows[i][4].ToString();
if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
{
SqlCommand selectcmd = new SqlCommand("select count(*) from zy_class where zhuanye='" + zhuanye + "'and classname='" + classname + "'", conn);
int count = Convert.ToInt32(selectcmd.ExecuteScalar());
if (count > 0)
{
SqlCommand selectcmd2 = new SqlCommand("select count(*) from stud where stuid='" + stuid + "'", conn);
int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
if (count2 > 0)
{
SqlCommand updatecmd = new SqlCommand("update stud set stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanyei + "',classname='" + classname + "' where stuid='" + stuid + "'", conn);
updatecmd.ExecuteNonQuery();
updatecount++;
}
else
{
SqlCommand insertcmd= new SqlCommand("insert into stud values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname+ "')", conn);
insertcmd.ExecuteNonQuery();
insertcount++;
}
}
else
{
Response.Write("<script language='javascript'>alert('专业或班级信息有错!导入失败!请检查!');</script>");
break;
}
}
else
{
errorcount++;
}
}
Response.Write("<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
}
catch (Exception e)
{
Response.Write("<script language='javascript'>alert('导入失败!');</script>");
}
finally
{
conn.Close();
}
}

//把EXCEL文件上传到服务器并e799bee5baa6e59b9ee7ad94336返回文件路径
private String typename(FileUpload fileloads)
{
string fullfilename = fileloads.PostedFile.FileName;
string filename = fullfilename.Substring(fullfilename.LastIndexOf("//") + 1);
string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + 1);
string murl = "";
if (type == "xls")
{
fileloads.PostedFile.SaveAs(Server.MapPath("excel") + "//" + filename);
murl = (Server.MapPath("excel") + "//" + filename).ToString();
}
else
{
Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");
}
return murl;
}
//
把excel数据读入dataset返回l数据集
private DataSet xsldata(string filepath)
{
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
string strCom = "SELECT * FROM [Sheet1$]";
Conn.Open();
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
DataSet ds = new DataSet();
myCommand.Fill(ds, "[Sheet1$]");
Conn.Close();
return ds;
}

相关阅读

  • 怎样用<em>SQL</em> Server 2008 <em>SQL</e

  • 乔山办公网excel表格制作
  • 鼠标点在要导入的数据库上,右键出现菜单框 ,选择 所有工作---导入数zhidao据,然後按照对话框一步步执行就行了要注意excel里的第一行回空出来,因为导入的答时候会把第一行数据默
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网