转换多行中逗号分隔的值

转换多行中逗号分隔的值

我急需将大量数据从 Excel 导入到 SQL。

其中一个 Excel 表包含如下数据。

ID  Name    Category    Section
1   Books   Stationery  KG1,KG2,1
2   Pencils Stationery  KG1,KG2,1,2,3

我想将其转换成这样:

ID  Name    Category    Section
1   Books   Stationery  KG1
1   Books   Stationery  KG2
1   Books   Stationery  1
2   Pencils Stationery  KG1
2   Pencils Stationery  KG2
2   Pencils Stationery  1
2   Pencils Stationery  2
2   Pencils Stationery  3

做到这一点最简单的方法是什么?

答案1

我将使用 Power Query 插件来实现这一点。Power Query 有一个 Split 命令,可以将 Section 值拆分为单独的列:

http://office.microsoft.com/en-in/excel-help/split-a-column-of-text-HA103994003.aspx

然后 Unpivot 命令可以将这些列变成行:

http://office.microsoft.com/en-au/excel-help/unpivot-columns-HA104053356.aspx

答案2

我使用了一个很酷的小工具插件,叫做 SSMSBoost - 它可以很好地将数据转储到 Excel 中,而不会弄乱格式。

http://www.ssmsboost.com

本质上,它扩展了 SSMS,使其能够将当前结果网格转储到 Excel 文件中,然后打开该 excel 文件。因为它可以做到这一点,所以它可以很好地处理数据中的空格和逗号等,因此 excel 中的数据与屏幕上的数据正确匹配。(比复制粘贴更好)

相关内容