C# 把excel的数据存入数据库中 求一段代码,具体要是就是把excel表中的数据 通过一个控件点击后,就可以完成数据从excel表中上传到数据库中。数据库是 SQL2000企业的。谁做过相关的 谢谢发一个,本人 下午6点前要给老板东西的 。 跪求 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一、把DataTable插入数据库public static void DataTableToDB(){ string _strExcelFileName = @"D:\example.xls"; DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1"); for (int i = 0; i < dtExcel.Rows.Count; i++) { InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString())); }}二、把Excel数据读入DataTablepublic static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName){ string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;"; string strExcel = string.Format("select * from [{0}$]", strSheetName); DataSet ds = new DataSet(); using (OleDbConnection conn = new OleDbConnection(strConn)) { conn.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn); adapter.Fill(ds, strSheetName); conn.Close(); } return ds.Tables[strSheetName];} insert into [table] SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=c:\book1.xls',[sheet1$]) 数据库的有20个字段,但是excel表中只有 7个字段 完成的功能是要进行对应的插入,能完成么。老板说可以用笨办法,实现循环插入,但是我是菜鸟,不知道这么弄 insert into table(列1,列3,列4,列7) ……………… 1、把EXCE数据读到Datatable中,再保存到数据库中 - - 怎么说呢就是excel表中的列,对应你数据库表的哪几列,就把这几个列写出来 顶楼的 InsertDataToAccess 这是干嘛滴??? 这个是哪来的,看样子是往Access里插入的 你可以先提取Access数据库成一个表DataTable,然后把这个表更新到SQL数据库就行了 你从数据库里面选取Excel对应的7个字段组成一张表,用Excel里面提取的表里面的数据全换车数据库里面的,然后更新就行了 你从数据库里面选取Excel对应的7个字段组成一张表,用Excel里面提取的表里面的数据全换车数据库里面的,然后更新就行了 不就是倒数据吗,教你个最简单的方法,先把EXCEL中的数据导入到ACCESS中,在ACCESS中建立和SQL2000中字段完全一样的表,然后直接在SQL2000的查询分析器中把ACCESS中的数据插入就行了。SQL2000应该也可以引用外部EXCEL,但好像是不支持自动排序,不知道你的EXCEL种的数据是什么样的,是否是格式规范的,要是不规范的话,还是得改一改的,ACCESS中也有SQL功能。 C# sendmessage问题 打印功能 C#.NET如何实现像Outlook Express中的"格式”菜单,选择“多信息文本(HTML)”,那个编辑器? C#中,如何在web应用中打开一个图片并用ie显示出来? 急!多线程问题.... 在后台程序中怎么调用前台html控件的值? WinForm中如何把DataReader对象捆绑到一个DataGrid上? datagrid是怎样得到要编辑的记录的? 希望能组成c#联盟的哥们们请近来看 C# winform不同程序集之间如何共享数据 如何防止两个*进程*同时写一个文件 调用dll出错 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
public static void DataTableToDB()
{
string _strExcelFileName = @"D:\example.xls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
}
}二、把Excel数据读入DataTable
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet(); using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
} return ds.Tables[strSheetName];
}
insert into [table] SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=c:\book1.xls',[sheet1$])
怎么说呢
就是excel表中的列,对应你数据库表的哪几列,就把这几个列写出来
这个是哪来的,看样子是往Access里插入的