鱼C论坛

 找回密码
 立即注册
查看: 3371|回复: 2

[已解决]利用C#写一个能将execl导入数据库的一个程序怎么写

[复制链接]
发表于 2015-4-13 13:37:28 | 显示全部楼层 |阅读模式
0鱼币
利用C#写一个能将execl导入数据库的一个程序怎么写
最佳答案
2015-4-13 13:37:29
环境:c#.2005+Access+ Sql
一、把DataTable插入数据库
public static void DataTableToDB()
{      
        string _strExcelFileName = @"D:\example.xls";      
        DataTable dtExcel = ExcelToDataTabe(_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];
        }
三、向Access数据库表插入数据
public static void InsertDataToAccess(string _strPara,float _fPara)
{      
        OleDbConnection oleDbConn = new OleDbConnection();      
        oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User

Id=admin;Password=;";      
        oleDbConn.Open();      
        string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES

(@strCollumn1,@fCollumn2)";      
        OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);      
        oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);      
        oComm.Parameters["@strCollumn1"].Value = _strPara;      
        oComm.Parameters.Add("@fCollumn2", OleDbType.Double);      
        oComm.Parameters["@fCollumn2"].Value = _fPara;            
        ocomm.ExecuteNonQuery();      
        oleDbConn.Close();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-13 13:37:29 | 显示全部楼层    本楼为最佳答案   
环境:c#.2005+Access+ Sql
一、把DataTable插入数据库
public static void DataTableToDB()
{      
        string _strExcelFileName = @"D:\example.xls";      
        DataTable dtExcel = ExcelToDataTabe(_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];
        }
三、向Access数据库表插入数据
public static void InsertDataToAccess(string _strPara,float _fPara)
{      
        OleDbConnection oleDbConn = new OleDbConnection();      
        oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User

Id=admin;Password=;";      
        oleDbConn.Open();      
        string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES

(@strCollumn1,@fCollumn2)";      
        OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);      
        oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);      
        oComm.Parameters["@strCollumn1"].Value = _strPara;      
        oComm.Parameters.Add("@fCollumn2", OleDbType.Double);      
        oComm.Parameters["@fCollumn2"].Value = _fPara;            
        ocomm.ExecuteNonQuery();      
        oleDbConn.Close();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-4-15 08:08:32 | 显示全部楼层
环境:c#.2005+Access+ Sql 一、把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];}三、向Access数据库表插入数据public static void InsertDataToAccess(string _strPara,float _fPara){      OleDbConnection oleDbConn = new OleDbConnection();      oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User Id=admin;Password=;";      oleDbConn.Open();      string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";      OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);      oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);      oComm.Parameters["@strCollumn1"].Value = _strPara;      oComm.Parameters.Add("@fCollumn2", OleDbType.Double);      oComm.Parameters["@fCollumn2"].Value = _fPara;            ocomm.ExecuteNonQuery();      oleDbConn.Close();}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 17:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表