excel怎么将表格连入数据库(怎样把一个表格的数据导入到数据库中)

excel怎么将表格连入数据库(怎样把一个表格的数据导入到数据库中),第1张

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文件,字段都是对应的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9544569.html

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

发表评论

登录后才能评论

评论列表(0条)

保存