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、会看到整个 *** 作的摘要,按完成即可。
public static DataSet GetDataSet(string FilePath)
{
string OledbConnectionString = stringFormat("Provider=MicrosoftJetOLEDB40;Data Source='" + FilePath + "';Extended Properties='Excel 80;HDR=Yes;IMEX=1'");
OleDbConnection conn = new OleDbConnection(OledbConnectionString);
ArrayList SheetNameList = new ArrayList();
try
{
if (connState == ConnectionStateClosed)
{
connOpen();
}
DataTable dtExcelSchema = connGetOleDbSchemaTable(OleDbSchemaGuidTables, new object[] { null, null, null, "TABLE" });
string SheetName = "";
for (int i = 0; i < dtExcelSchemaRowsCount; i++)
{
SheetName = dtExcelSchemaRows[i]["TABLE_NAME"]ToString();
SheetNameListAdd(SheetName);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
connClose();
}
DataSet dsExcel = new DataSet(); try
{
string strSql = ""; for (int i = 0; i < SheetNameListCount; i++)
{
strSql = "select from [" + (string)SheetNameList[i] + "]";
OleDbDataAdapter oleExcelDataAdapter = new OleDbDataAdapter(strSql, conn);
DataTable dtExcel = new DataTable((string)SheetNameList[i]);
oleExcelDataAdapterFill(dtExcel);
dsExcelTablesAdd(dtExcel);
}
return dsExcel;
}
catch (Exception ex)
{
throw ex;
}
}这个方法就是从EXCEL文件读取数据转换为DataSet 下面一段时调用的时候要注意的,写要在服务器端保存一下上传的EXCEL,然后再调用 string filePath = "";
DataSet ds = new DataSet();
if (SystemIOPathGetExtension(FileUpload1FileName) != "xls")
{
ClientScriptRegisterStartupScript(PageGetType(), "", "<script>alter('hao')</script>");
return;
}
else
{
filePath = "D:\\" + FileUpload1FileName;
FileUpload1SaveAs(filePath);
string fileName = FileUpload1FileName;
int start = fileNameIndexOf('');
fileName = fileNameSubstring(0, start);
ds = GetDataSet(filePath);
}
*** 作方法如下:
1、首先需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,需要将表中的字段名字告诉给填写excel表的人员。
2、打开excel表,按照程序提供的字段填写相应的数据,需要跟程序提供的一样,其他的描述。
3、使用的mysql管理工具Navicatfor MySQL,打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import wizard ,有汉化版本的更明确d出一个选择界面,选择excel file文件。
4、点击next(下一步),选择对应的excel文件就行,然后再下面选文件内容在哪一个sheet中,也就是内容写在excel什么地方,这点需要注意,也是关键的地方。
5、点击next (此步骤也是关键步骤),需要注意2点: 1:filedname row 就是字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列)2:first data row(从哪一行开始执行),数据从哪一行开始。
6、点击next选择 targettable 目标对应的数据库,选择要导入到哪个数据库中表中。
7、如果到上面一步没有问题的话,默认next到最后 就行了然后打开表就能看到数据跟excel表中的一样。
第一步:建立数据库和数据表(按照自己的Excel数据设立字段)。
[sql] view plain copy print
CREATE DATABASE php_excel;
USE php_excel;
CREATE TABLE IF NOT EXISTS php_excel(
id int(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
gid varchar(20) NOT NULL,
stu_no varchar(20) NOT NULL,
name varchar(45) NOT NULL,
age int(4) NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
第二步:前台indexphp文件。
[html] view plain copy print
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
三种VBA:
方法一:在eccel VBA编辑器编写代码,使用FOR循环导入:
Sub 利用Excel的VBA将数据写入Access()
'定义ADODB 连接Access数据库
Dim Cnn As New ADODBConnection
Dim Rs As New ADODBRecordset
Dim strCon As String
Dim strFileName As String '数据库文件名
strFileName = InputBox("请输入文件路径及文件名:", "Excel传递数据至Access", "E:\ExcelTest\Staffmdb")
'连接字符串,我这里是Access2010,所提供者参数为:Provider=MicrosoftACEOLEDB120;
'如果此参数不能使用,根据自己的电脑修改这个字符串
'至于连接至的数据库名,根据自己的电脑修改,或用一个对话框或其他方式将此值传递进程序
strCon = "provider=MicrosoftjetOLEDB40;" _
& "Data Source=" & strFileName & ";"
CnnOpen strCon
RsActiveConnection = Cnn
RsLockType = adLockOptimistic
RsOpen "Employee" '假设表为Employee
'定义Excel表中的数据区域以写入Access
Dim Sht As Worksheet
Dim Rn As Long
Dim Cn As Long
Set Sht = ThisWorkbookSheets("Sheet1")
'假设将 Sheet1 表的 2-6行的1、2、3列写入Access表
For Rn = 2 To 6
RsAddNew
Rs!num = ShtCells(Rn, 1) ’num,name,department是数据库中指定表的字段
Rs!Name = ShtCells(Rn, 2)
Rs!department = ShtCells(Rn, 3)
RsUpdate
Next Rn
MsgBox "完成!"
RsClose
CnnClose
Set Rs = Nothing
Set Cnn = Nothing
Set Sht = Nothing
End sub
1在Access中创建对Excel工作簿的链接:在Access中选择“外部数据——导入——Excel”。
2在“获取外部数据”对话框中选择“通过创建链接表来链接到数据源”。
必须为每个Excel工作簿重复该过程直到将它们都链接到数据库。结果如下图所示。
3在SQL视图中开始新的查询,单击“创建——其他——查询设计”。
4选择“查询工具-设计”中的“SQL视图”
5在SQL视图中,为所有链接的Excel表输入Select语句,在每个Select语句间使用Union *** 作符,在SQL视图中输入选择查询语句。
6运行查询后,结果将是包含从所有链接的文件中获取并合并后的数据。
只要链接的Excel文件在相同的位置,每次打开数据库时Access将自动刷新链接以获取最新数据。这意味着只需设置一次,然后在每次需要重新组合Excel文件时运行联合查询。
然而,默认情况下,UNION *** 作符会移除数据中的任何重复行。如果知道数据中有重复行,并且想保留它们,那么需要使用UNION ALL,以允许传递重复行。
以上就是关于excel怎么将表格连入数据库(怎样把一个表格的数据导入到数据库中)全部的内容,包括:excel怎么将表格连入数据库(怎样把一个表格的数据导入到数据库中)、C#Excel导入多条数据到数据库,如何快速导入、MYSQL怎么批量导入多个excel文件,字段都是对应的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)