将SQL文件导出为Excel文件

7
我可以帮您进行翻译。以下是您需要翻译的内容:

我有一个 SQL 文件,其中包含很多插入语句(1000+),

例如:

insert into `pubs_for_client` (`ID`, `num`, `pub_name`, `pub_address`, `pub_tele`, `pub_fax`, `pub_email`, `publ_website`, `publ_vat`, `pub_last_year`, `titles_on_backlist`, `Personnel`) values('2475','2473','xxx xxx xxx','xxx xxx, xxxx, xxxx, xxxx, ','000000 ','0000 ',NULL,NULL,NULL,NULL,NULL,NULL);

我的客户希望将这些内容放在Excel文件中。

能否从此SQL文件中提取信息并导入Excel电子表格?我使用的是Excel 2007。


你想要提取插入语句,还是想要提取它们插入到表中的数据? - codeulike
@codeulike,我想提取他们插入到表中的数据。 - 109221793
你有什么可以连接到数据库的工具吗?你有SQL Server Management Studio或类似的工具吗? - codeulike
@codeulike,我正在查看SQL Server Management Studio上的查询。老实说,我无法运行查询,因为我不知道连接的用户名/密码。 - 109221793
如果您安装的是本地的SSMS,那么您是否也安装了数据库引擎呢?您可以尝试使用Windows身份验证连接到localhost或localhosta\sqlexpress。如果没有安装,您可以在本地安装SQL Express,但这似乎有些过度,或者只需向管理员请求访问临时数据库即可。 - Rup
4个回答

12
如果您有一个MySQL的安装和phpMyAdmin,只需在phpMyAdmin中导入.sql文件并将表格直接导出为.xls文件即可。

5

编辑:如果您想从插入语句中提取数据而不实际运行它们,可以:

  • 将SQL文件保存为CSV文件
  • 在Excel中打开它,它会自动使用逗号将语句分成几部分
  • 大多数左侧的列不值得保留,因此请删除它们
  • 最右边的列应该包含数据

3
如果您不想安装任何工具,可以尝试以下方法......它很简单,但需要一些正则表达式匹配和字符串试错。
1. 将列名复制到Excel中。 2. 打开带有插入语句的文件并进行替换。将"Insert into pubs_for_client (ID, num, pub_name, pub_address, pub_tele, pub_fax, pub_email, publ_website, publ_vat, pub_last_year, titles_on_backlist, Personnel) values("替换为空。 3. 查找")\n"并使用通配符删除所有。 4. 现在,这个文本文件已经可以导入Excel了。您可以将其复制到剪贴板,然后粘贴到Excel中,或者直接用Excel打开。
附注:您还可以尝试要求客户以Excel格式发送数据,因为大多数数据提供商都支持该格式。

2

您是指导出这些值吗?

假设您正在使用SQL服务器+工具,最简单的方法是:

  1. 将这些值实际插入到表中(必要时创建临时表)
  2. select * from pubs_for_client
  3. 复制+粘贴结果表到Excel。

您需要自己设置列宽,并且如果您有数字作为字符串列并希望保留为字符串(例如保留前导零),则需要先设置接收列类型。

如果不能使用类似的工具来处理数据库,则可以使用正则表达式或仅使用文本编辑器将SQL文件转换为Excel可读取的CSV。您还需要从值和null以及重复引号的引号中进行编辑。不幸的是,您无法预先指定列类型,例如数字中的前导零会丢失。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接