![转换多行中逗号分隔的值](https://linux22.com/image/1424017/%E8%BD%AC%E6%8D%A2%E5%A4%9A%E8%A1%8C%E4%B8%AD%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E7%9A%84%E5%80%BC.png)
我急需将大量数据从 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 中,而不会弄乱格式。
本质上,它扩展了 SSMS,使其能够将当前结果网格转储到 Excel 文件中,然后打开该 excel 文件。因为它可以做到这一点,所以它可以很好地处理数据中的空格和逗号等,因此 excel 中的数据与屏幕上的数据正确匹配。(比复制粘贴更好)