2015-04-23 198 views
1

我想从Excel文件导入到SQL Server表的数据。我收到此错误“外部表格未处于预期格式(Microsoft Office Access数据库引擎)” 我正在使用Microsoft SQL Server 2012和Excel 2007.我尝试了Microsoft SQL Server导入和导出向导。然后我选择了Microsoft Excel作为数据源,选择了文件名并选择了Excel的版本。然后我得到了上面的错误信息。从Excel导入数据到SQL Server表

+2

你是如何导入它?通过向导?你选择了'Excel源码'吗?我们需要更多信息。 –

+0

Access是如何得到它的?我以为你从Excel导入数据到SQL? –

+0

http://stackoverflow.com/questions/375991/import-excel-spreadsheet-columns-into-sql-server-database。没有足够的信息,如果您正在使用该向导,请确保您有数据类型,长度和正确的Jet引擎。 –

回答

1

发现它是用excel文件做的。在打开excel文件之前,我得到了这个错误消息:“您试图打开.xls的文件的格式与文件扩展名指定的格式不同,请确认该文件在打开文件之前没有损坏,并且来自受信任的来源。 打开它并复制它的内容并从中创建一个新的excel文件。然后我用这个文件在向导中导入。我指定Microsoft Excel作为源文件名和Microsoft Excel 2007版本。 对于目标,我选择了SQL Server Native Client 11.0,服务器名称和数据库。我选择了编辑映射来映射Excel表格和目标表格之间的字段。运行向导后,它将数据传输到sql server中的目标表。

1

检查以确保Excel工作簿上没有密码(并且它确实删除了它)。我得到同样的错误,并修复它。

0

我有这个问题,有一个xsls文件(Excel 2007)。该向导正确识别了该版本,但因“未处于预期格式”错误而失败。

我不确定错误的来源是什么 - 我怀疑电子表格中有链接或引用无效。

我复制了我感兴趣的工作表的内容,并将其粘贴到新的空白工作表中。我保存了它,然后在导入向导中打开它,并且没有导入它的问题。

0

我发现问题在于Excel工作表是.xls格式,我使用的是Excel 2010和SQL Server 2014,所以解决方案是简单地将电子表格转换为.xlsx,然后通过选择再次运行向导Excel作为数据源,自动选择Exel 2007作为数据源的Excel版本,并在向导平稳运行时解决了问题。

因此,不需要将工作表的内容复制到新的电子表格中。

希望能帮助任何人!

0

在我的情况下,我一次从3张纸导入数据时出现此错误。然后我只选择一张纸并且它工作。我接下来选择其他两张纸,他们也工作得很好,有时您可能只想单独导入纸张或给它第二次机会。它可能有助于某人。

0

我的问题是我的Excel表没有定义命名范围。一旦我在我的Excel文件中创建了一个命名范围,我就可以导入它。

0

您应该将您的Excel文件保存到较低版本,可以是一个2003版本的Excel。一旦保存文件,您现在可以执行SQL的数据传输。

基因