发布网友 发布时间:2022-04-20 07:30
共4个回答
热心网友 时间:2023-07-17 19:35
sql->excel:读取记录后用for循环写入excel(如果excel是模板,其模板也不会被破坏);
excel->sql:利用oledb(连接字符串:"Provider=Microsoft.Jet.OLEDB.4.0;"
+
"Data
Source="
+
ExcelPath
+
";Extended
Properties=Excel
8.0;",查询语句例如(查询sheet1的内容):select
*
from
[sheet1$])读取excel到dataset里,然后用for循环insert到数据库中即可。
热心网友 时间:2023-07-17 19:35
就连接数据库并操作一样,把EXCEL当成另类的数据库来操作就是。导入的话就先取得与EXCEL的连接,并查询到相关的数据(如:select * from $sheet1),放入DATASET里,然后再连接数据库update数据就是。导出的话也差不多,反过来就是。。
热心网友 时间:2023-07-17 19:36
private void Button1_Click(object sender, System.EventArgs e)
{
string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = 'D:/ExportToExcel/excel/test.xls';Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection (mystring);
OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
DataSet myDs =new DataSet();
myDa.Fill(myDs);
if(myDs.Tables[0].Rows.Count > 0)
{
string strSql = "";
string CnnString="Provider=SQLOLEDB;database=testnews;server=(local);uid=sa;pwd=";
OleDbConnection conn =new OleDbConnection(CnnString);
conn.Open ();
OleDbCommand myCmd =null;
for(int i=0; i<myDs.Tables[0].Rows.Count; i++)
{
strSql="insert into news(title,body) values ('";
strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString() + "', '";
strSql += myDs.Tables[0].Rows[i].ItemArray[2].ToString() + "')";
try
{
myCmd=new OleDbCommand(strSql,conn);
myCmd.ExecuteNonQuery();
Label8.Text = "<script language=javascript>alert('数据导入成功.');</script>";
}
catch
{
Label8.Text = "<script language=javascript>alert('数据导入失败.');</script>";
}
}
conn.Close();
}
}
}
热心网友 时间:2023-07-17 19:37
我有例子,要的话,留言。