黑马程序员技术交流社区
标题:
excel数据导入数据库
[打印本页]
作者:
张少甫
时间:
2013-2-26 12:18
标题:
excel数据导入数据库
数据库里的数据可以直接导出为excel,excel能直接导入数据库吗?或者简单的方法
作者:
xiaoxiang_04
时间:
2013-2-26 13:57
打开SQL,找个你要导入的数据库,右键选择任务,里面有导入数据和导出数据,点进去根据提示选就行了,注意设置列名和主键
作者:
生活墨墨
时间:
2013-2-26 15:52
可以,不用写代码,直接操作就行了。
作者:
生活墨墨
时间:
2013-2-26 15:59
首先随便点击一个数据库》》然后右击》》任务》》导入数据》》下一步》》数据源那里选择Microsoft Excel》》选择路径》》
选择版本》》下一步》》选择要导入的数据库》》下一步》》下一步》》然后按照提示来操作就ok了
作者:
汪振
时间:
2013-3-1 15:57
本帖最后由 汪振 于 2013-3-1 15:59 编辑
http://blog.csdn.net/zj_alex/article/details/8626504
我之前也捣鼓了好长时间,已经再用了,可行
DataSet ds = new DataSet();
try
{
//获取全部数据
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
strExcel = string.Format("select * from [{0}$]", sheetName);
myCommand = new OleDbDataAdapter(strExcel, strConn);
myCommand.Fill(ds, sheetName);
//如果目标表不存在则创建
string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName);
foreach (System.Data.DataColumn c in ds.Tables[0].Columns)
{
strSql += string.Format("[{0}] varchar(255),", c.ColumnName);
}
strSql = strSql.Trim(',') + ")";
using (System.Data.SqlClient.SqlConnection sqlconn = new System.Data.SqlClient.SqlConnection(connectionString))
{
SqlCommand cmd = sqlconn.CreateCommand();
cmd.CommandText = "drop table Sheet1";
sqlconn.Open();
cmd.ExecuteNonQuery();
System.Data.SqlClient.SqlCommand command = sqlconn.CreateCommand();
command.CommandText = strSql;
command.ExecuteNonQuery();
sqlconn.Close();
}
//用bcp导入数据
using (System.Data.SqlClient.SqlBulkCopy bcp = new System.Data.SqlClient.SqlBulkCopy(connectionString))
{
bcp.SqlRowsCopied += new System.Data.SqlClient.SqlRowsCopiedEventHandler(bcp_SqlRowsCopied);
bcp.BatchSize = 100;//每次传输的行数
bcp.NotifyAfter = 100;//进度提示的行数
bcp.DestinationTableName = sheetName;//目标表
bcp.WriteToServer(ds.Tables[0]);
}
MessageBox.Show("数据导入成功");
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
复制代码
q.jpg
(57.77 KB, 下载次数: 21)
下载附件
2013-3-1 15:59 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2