2022-11-05 03:22来源:m.sf1369.com作者:宇宇
一些程序员需要将Excel中的数据导入Access数据库中,编写一个另外的程序,因为excel和access都是office产品,是可以实现excel数据导入access数据库的。
工具原料:excel、Access
1、首先准备好需要导入的excel表,并查看数据无误。
2、打开Access数据库,在数据库上方有一个外部数据,点击外部数据存在一个“导入Excel表格功能”,点击该功能开始执行导入操作。
3、找到自己的Excel,明确路径,就可以开始了。点击确定进入下一个步骤。
4、在开始导入的时候,根据自己的需要勾选第一行是否包含标题。勾选:代表Excel中的第一栏就是数据库中的字段名,不勾选:代表Excel所有的数据成为数据库中的数据。
5、接下来可以根据自己的需要修改“字段名称”和“数据类型”。
6、进入下一页面,可以修改数据库中的主键,可以用Access的默认主键,也可以自定义主键,也可以不要主键。
7、完成主键的设置过后,就完成了数据的导入,但是还没有完,自己要为导入的数据命名。最后就完成了将Excel中的数据导入到Access数据库中的操作。
首先要分类讨论1. 你是要做一个通用的导入导出,还是一个设计好格式的?
2. 你的数据量有多大3. 服务器端是否允许安装Office倒着来3. 装了 Office 就去看文档,没装就用 EPPlus 库然后看文档,应该都是 xslx了吧2. 数据量小的直接进,数据量大首先在服务器端把上传的 xlsx 拆分小一点文件,这样占用内存会小很多。1. 设计好格式,标头确定的,那就直接读,每行按单元格下标依次灌入对象,插入数据库通用的话,实际上需要用户首先下载一个模板,模板根据数据库字段生成,文件名就是数据表名加下载时间,导入时拆分文件名,获得表名,根据位置灌到数据库。
如果更高级点,你可以在模板中增加一个隐藏的 sheet,把相关字段信息及字典值都藏在里面,导入的时候根据隐藏 sheet 的内容进行检查清洗,然后再入数据库总结Excel 导入其实就是要去建立一个格式契约,简单的就是约定死;复杂的就是根据内容动态藏在 excel 文件中,导入时根据约定去解析处理文件。
1>.采用InnoDB存储引擎;
2>.设置innodb_buffer_pool_size较大的值,且设置脏数据:innodb_max_dirty_pages_pct=95;
3>.关闭log-bin 日志;
4>.设置sort_buffer_pool_size的值稍微大一点;
5>.使用多表空间:innodb_file_per_table;
6>.innodb_flush_log_at_trx_commit=0 且sync_binlog=0;
7>.多个mysql客户端同时导入数据库备份文件,后台执行就是;
在查询分析器里,操作数据库对象选择Lee直接写SQL语句:
如果是导入数据到现有表,则采用INSERTINTO表SELECT*FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式如果是导入数据并新增表,则采用SELECT*INTO表FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)的形式。以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERTINTO表(a1,a2,a3)SELECTa1,a2,a3FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:
INSERTINTOeval_channel_employee(channel,employee_id)SELECTCASEa.渠道WHEN'DIY'THEN1WHEN'RDC'THEN0WHEN'KCM'THEN2ELSE3END,b.idFROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$)ASa,pers_employeebWHEREa.员工编码=b.code简单的方法:SQL2005中直接可以实现导入功能SQL2008不知道可不可以。操作过程如下:
第一步:登录到SQLServerManagementStudio,第二步:在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”
第三步:在“导入向导”对话框中单击“下一步”,进入到“选择数据源”对话框,在“数据源”列表中选择“MicrosoftExcel”,同时选择相应的Excel文档,完成后单击“下一步”(一定要勾选该对话框中的“首行包含列名称”,因此它是将Excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击“下一步”。。。。至到“完成”
第五步:重新打到SQLServerManagementStudio,进入到导入的数据库表,可以发现所导入的Excel文档数据。你试下下面的吧:打开SQLServerConfigurationManager,启用SQLServerAgent(实例名)。启动模式更改为“自动”
首先我们先打开需要导入外部数据的工作表,打开之后单击需要从哪一行哪一列开始导入外部数据的单元格。单击之后将鼠标移到菜单栏,这时我们可以看到有一个“数据”按钮,单击该按钮会下拉很多选项。
在下拉的选项里我们可以看到有一个“导入外部数据”选项,将鼠标移到该选项又会下拉很多选项。
在下拉的选项里我们单击“导入外部数据”按钮,单击之后会弹出如图对话框,这时我们找到需要导入数据的工作表的存放位置,找到之后单击打开按钮,
单击打开按钮之后会弹出如图对话框,这时我们单击确定按钮,单击之后又会出现如图2所示情况,这时我们选择存放的位置是否是现有的工作表中还是新建工作表中,我们根据自己的实际情况来选择,假如是放置在现有的工作表中,那么直接单击上方的确定按钮。
单击“新建web查询”按钮之后会弹出如图对话框,这时我们在地址栏输入我们要导入数据的网页地址,输入完成后单击后边的“转到”按钮。
单击之后就会出现如图所示情况,这时我们单击下方的“导入”按钮
操作步骤如下:准备数据:在excel中构造出需要的数据 2.将excel中的数据另存为文本文件(有制表符分隔的) 3.将新保存到文本文件中的数据导入到pl*sql中 在pl*sql中选择tools-->textimporter,在出现的窗口中选择"DatafromTextfile",然后再选择"Opendatafile", 在弹出的文件选择框中选中保存有数据的文本文件,此时将会看到datafromtextfile中显示将要导入的数据 4.在configuration中进行如下配置 注:如果不将"Nameinheader"勾选上会导致字段名也当做记录被导入到数据库中,从而导致数据错误5.点击datatooracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进行关联 6.点击import按钮进行导入7.查看导入的数据OK,至此数据导入成功。
excel表格出现乱码的解决办法如下:
1、当我们打开表格,有一堆我们看不懂的乱码。关闭表单,返回文件所在的文件夹,右键单击光标,然后单击“打开模式”。
2、仔细观察界面,点击选择其他应用。系统跳转到下拉菜单,找到记事本图标,单击它,然后单击下面的确定图标。打开记事本表单后,单击左上方的文件图标,并从下拉菜单中选择另存为。
3、在“另存为”属性框中,确认保存的路径和文件名。
4、最重要的一点,在编码处选择ANSI格式,点击右边的保存。完成后用Excel打开这个文件,然后数据就正常了。
希望对你有所帮助。