社区
C#
帖子详情
C#怎么实现EXCEL数据导入SQL SERVER????
oklemon
2004-03-17 10:55:57
能说得详细点吗?最好有代码,谢谢!
100分相送:)
...全文
188
12
打赏
收藏
C#怎么实现EXCEL数据导入SQL SERVER????
能说得详细点吗?最好有代码,谢谢! 100分相送:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
neilchen
2004-03-24
打赏
举报
回复
有没有更好的方案,以上几种方案我们都使过的,时间太慢和数据丢失是他们主要存在的问题!
oklemon
2004-03-19
打赏
举报
回复
今天使用ODBC .NET DATA,能连接上了!
string cnstr=@"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\dd.xsl";//使用ODBC连接字符串
OdbcConnection cn=new OdbcConnection(cnstr);
OdbcDataAdapter da=new OdbcDataAdapter("select * from [sheet1$]",cn);
xiaowangtian
2004-03-18
打赏
举报
回复
string strPath=MapPath("ImportData");
string FileName=strPath+"\\"+"PIWS.xls";
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+FileName+";Extended Properties=Excel 8.0;";
string sql = "Select '' as ID,Item,'' as SO,Date,Line,Qty,SO from [PIWS$]";
System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection( connectionString );
System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter( sql, connection );
System.Data.DataSet dataSet = new DataSet();
connection.Open();
dataAdapter.Fill( dataSet, "PIWS" );
connection.Close();
zhpsam109
2004-03-18
打赏
举报
回复
为什么要用c#实现呢,不是有更好的方法导吗?
oklemon
2004-03-18
打赏
举报
回复
怎么没有人会吗?
雪狼1234567
2004-03-18
打赏
举报
回复
方法2,数据量大的话,速度有些慢:
app = new Excel.Application();
Excel.Workbook oBook;
Workbooks oBooks = app.Workbooks;
object missing = Missing.Value;
// 打开一个Excel文件
oBook = oBooks.Open(filePath, missing, missing, missing, missing,
missing, missing, missing, missing,
missing, missing, missing, missing);
Worksheet oSheet = (Worksheet)oBook.Worksheets.get_Item("Stat");
System.Data.DataTable table = new System.Data.DataTable();
// 添加table中的列
foreach(string strHeader in arrColumnName)
{
string strColumn = "";
switch(strHeader)
{
case "药品编码":
strColumn = "MediID";
break;
case "药品名称":
strColumn = "MediName"; // MediName暂时没用
break;
case "公司名称":
strColumn = "ComName";
break;
case "价格":
strColumn = "Price";
break;
case "日期":
strColumn = "DealDate";
break;
case "数量":
strColumn = "Amount";
break;
case "金额":
strColumn = "Total";
break;
case "数据类型":
strColumn = "DealType";
break;
}
table.Columns.Add(strColumn);
}
int columnCount = arrColumnName.GetLength(0);
Range rangeCell = null;
// 取数据从第二行开始,忽略第一行表头
for(int i = 2; ; i ++)
{
rangeCell = (Range)oSheet.Cells[i,1];
if(rangeCell.Text.ToString() == "")
{
break;
}
System.Data.DataRow row = table.NewRow();
for(int j = 1; j <= columnCount ; j++)
{
rangeCell = (Range)oSheet.Cells[i,j];
row[j-1] = rangeCell.Value;
}
table.Rows.Add(row);
}
ds.Tables.Add(table);
app.Quit();
app = null;
雪狼1234567
2004-03-18
打赏
举报
回复
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------
oklemon
2004-03-18
打赏
举报
回复
string cnstr=@ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xsl;Extended Properties=Excel 8.0 ";
抱歉,刚才这句话中,应该是"dd.xsl"
还有,连接字符串是否与EXCEL的版本有关呢?
oklemon
2004-03-18
打赏
举报
回复
string cnstr=@ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xsl;Extended Properties=Excel 8.0 ";
抱歉,刚才这句话中,应该是"dd.xsl"
还有,连接字符串是否与EXCEL的版本有关呢?
oklemon
2004-03-18
打赏
举报
回复
3楼的兄弟:我按你的方法来做,出现了下面的错误:
未处理的“System.ArgumentException”类型的异常出现在 system.data.dll 中
其他信息:对象不是 ADODB.Recordset 或 ADODB.Record。
==================================================================================
代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
string cnstr=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\1.xsl;Extended Properties=Excel 8.0";
OleDbConnection cn=new OleDbConnection(cnstr);
OleDbDataAdapter da=new OleDbDataAdapter("SELECT * FROM [dd$]", cn);
try
{
DataTable dt=new DataTable();
da.Fill(dt,"dd");
string s=dt.Rows[0].RowState.ToString();
textBox1.Text=s;
}
finally
{
cn.Close();
}
}
xiangyangsunboy1
2004-03-18
打赏
举报
回复
你可以先把EXCEL里面的数据倒到程序里去,然后再写到数据库里面看看。
tjq_tang
2004-03-18
打赏
举报
回复
可以考虑使用存储过程来做。
在数据库开发/sql server讨论区搜索一下,很多这方面讨论
C#
excel
数据
导入
到
sql
server
C#
excel
数据
导入
到
sql
server
,方便
数据
的整理
c#
EXCEL
数据
导入
SQL
Server
数据
库(自动创建表)
最近在做个小东西的时候用到的,网上有很多但大多是文档,所以自己照着改了改,开发环境:vs2013
excel
版本:office
excel
2013,可能写的比较糙,有什么有问题的地方希望能够指出来,共同进步。
C#
SQL
Server
数据
库技术
本课程讲解
C#
对
SQL
SERVER
数据
库的操作,包括
数据
库的连接、
数据
库的增、删、改、查询等。
Excel
导入
SQL
server
源码
Excel
导入
SQL
server
源码
Excel
是一种非常灵活的电子表格软件,用它可以存储各种
数据
,本节将对如何将
Excel
导入
SQL
Server
2000
数据
库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:
c#
数据
库:
server
2000
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章