首先我们肯定有一个excel的文件,文件中有大量的数据,每一列代表着不同的字段。
我们首先建立一个数据库,然后在库中建立表,表的每个字段对应excel中的每一列。
一、假如excel中有四列数据,希望导入到数据库中
mytable
中,对应的字段分别为field1,field2,field3,field4
二、在excel表格中增加一列(excel应该是e列),利用excel的公式自动生成sql语句(这个很重要,别写错了),具体方法
如下:
1、增加一列(excel应该是e列,因为我们原有4列数据,分别为a\b\c\d列)
2、在第一行(这一行必须为有效数据行否则出错)的e列,就是e1中输入公式=concatenate("insert
into
table
(field1,field2,field3,field4)
values
('",a1,"','",b1,"','",c1,"','",d1,"');")
3、此时e1已经生成如下的sql语句:
insert
into
mytable
(field1,field2,field3、field4)
values
('a1中
的数据','b1','c1','d1');
4、将e1的公式复制到所有行的e列,(就是用鼠标点住e1单元格的右下角,一直拖拽下去,到最后一行数据)
5、此时e列已经生成了所有的sql语句
6、选中e列把e列数据复制到一个纯文本文件中,命名为
例如:exceltxt
三、把exceltxt
放到数据库中运行即可,可通过命令行导入
source
f:\exceltxt
新建一个1MDB文件,然后开始-->获取外部数据--->导入--->选择你的XLS文件。
编程:吧1mdb作为数据源,读取数据然后写入到你的MSSQL表中。
也可以直接把1mdb导入到MSSQL中
环境:c#2005+Access+ Sql
一、把DataTable插入数据库
public static void DataTableToDB()
{
string _strExcelFileName = @"D:\examplexls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
for (int i = 0; i < dtExcelRowsCount; i++)
{
InsertDataToAccess(dtExcelRows[i][0]ToString(), floatParse(dtExcelRows[i][1]ToString()));
}
}
二、把Excel数据读入DataTable
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=MicrosoftJetOLEDB40;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 50;";
string strExcel = stringFormat("select from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
connOpen();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapterFill(ds, strSheetName);
connClose();
}
return dsTables[strSheetName];
}
三、向Access数据库表插入数据
public static void InsertDataToAccess(string _strPara,float _fPara)
{
OleDbConnection oleDbConn = new OleDbConnection();
oleDbConnConnectionString = @"Provider=MicrosoftJetOLEDB40;Data Source=C:\ExcelDatamdb;User Id=admin;Password=;";
oleDbConnOpen();
string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";
OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);
oCommParametersAdd("@strCollumn1", OleDbTypeChar , 50);
oCommParameters["@strCollumn1"]Value = _strPara;
oCommParametersAdd("@fCollumn2", OleDbTypeDouble);
oCommParameters["@fCollumn2"]Value = _fPara;
ocommExecuteNonQuery();
oleDbConnClose();
}
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务--导入数据,d出DTS导入/导出向导,按下一步
2、选择数据源MicrosoftExcel97-2000,文件名选择要导入的xls文件,按下一步
3、选择目的用于SQLServer的MicrosoftOLEDB提供程序,服务器选择本地(如果是本地数据库的话,如VVV),使用SQLServer身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如client),按下一步
4、选择用一条查询指定要传输的数据,按下一步
5、按查询生成器,在源表列表中,有要导入的xls文件的列,将各列加入到右边的选中的列列表中,这一步一定要注意,加入列的顺序一定要与数据库中字段定义的顺序相同,否则将会出错,按下一步
6、选择要对数据进行排列的顺序,在这一步中选择的列就是在查询语句中orderby后面所跟的列,按下一步
7、如果要全部导入,则选择全部行,按下一步
8、则会看到根据前面的 *** 作生成的查询语句,确认无误后,按下一步
9、会看到表/工作表/Excel命名区域列表,在目的列,选择要导入数据的那个表,按下一步
10、选择立即运行,按下一步,11、会看到整个 *** 作的摘要,按完成即可。
以上就是关于如何将excel表导入数据库的方法全部的内容,包括:如何将excel表导入数据库的方法、asp.net C# 如何将excel表导入到sqlserver数据库中,或是导入到程序中转而导入数据库中、求一个C# Excel导入数据库的源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)