导入excel把数据存在datatable中,用sqlbulkcopy把datable批量导入到数据库的表中

导入excel把数据存在datatable中,用sqlbulkcopy把datable批量导入到数据库的表中,第1张

winform还是net?如果是winfrom参考下面的代码吧!

public void ExcelIntoDatagridView()

{

//打开一个文件选择框

OpenFileDialog ofd = new OpenFileDialog()

ofd.Title = "Excel文件"

ofd.FileName = ""

ofd.Filter = "Excel文件(*.xls)|"

try

{

if (ofd.ShowDialog() == DialogResult.OK)

{

string tableName = ""

//if (arratlist != null)

//{

/漏旁此/arratlist.Clear()

//}

string Path = ofd.FileName

string strConn = "Provider=Microsoft.Ace.OleDb.12.0" + "data source=" + Path + "Extended Properties='Excel 12.0HDR=YesIMEX=1'"

OleDbConnection conn = new OleDbConnection(strConn)

conn.Open()

System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null)

tableName = schemaTable.Rows[0][2].ToString().Trim()

//for (int i = 0i <schemaTable.Rows.Counti++)

//{

//arratlist.Add(schemaTable.Rows[i][2].ToString().TrimStart('/'').Trim('/'', '$'))//

//}

string strExcel = "Select * From [" + tableName + "]"

OleDbCommand cmd = new OleDbCommand(strExcel, conn)

DataTable excelDt = new DataTable()

OleDbDataAdapter da = new OleDbDataAdapter(strExcel, conn)

da.Fill(excelDt)

conn.Close()

MessageBox.Show("excel 导启拆入返迅成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

if (excelDt != null)

{

dataGridView1.DataSource = excelDt

}

}

}

catch (Exception ex)

{

MessageBox.Show("导入文件时出错,文件可能正被打开", "提示")

}

}

我曾经也做了个老衫闹把显示出来的html代码保存到数据库里,我使用的脚本是asp.net但是有一点侍罩,我觉得可以给你帮助,就是思路..

首先,从数据库里读出你要保存的数据,或者是其他方式让你要的数据显示到html里..然后在要保存的html前后加个div标签,在把这个标签用 javascript取出来,传到一个input里..你再获取input里的数据库就可以保存了..

代码:

我在以下代码中

<div id="divout">

要导出的html内容区

</div>塌侍

再用以下js取到一个隐藏的input里<input type="text" id="dao" name="dao">

<script language="javascript">

function zcaddcheck(){

document.getElementById('dao').value=document.getElementById('divout').innerHTML

document.Form1.Button1.click() //在通过该代码激活保存到数据库里去

}

</script>

我就半个月前做了个这东西,不清楚可以联系我

将数据源筛选,符合条件的继续下面的中仿让 *** 作。

DataView dv = ds.Tables[0].DefaultView

dv.RowFilter = "ID>3 and ID<10"卖局

this.gv1.DataSource = dv

this.gv1.DataBind()

筛选之后的数据存放在dv中,原来的ds还可大友以继续使用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11993681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存