我必须根据Excel表格中的数据生成逗号分隔的字符串,其中包含键值对。 由于图片胜过千言万语...... 生成基于excel表格的逗号分隔字符串
首行是列名和可视化我想转行1877年到下面的字符串
8:0,9:1,10:0,11:2 ...
所以格式将column_name:column_value,...
因为我有很多的数据解析我很好奇,如果有人可以建议最好的方法来生成 字符串,将最终在MS SQL数据库?
感谢
我必须根据Excel表格中的数据生成逗号分隔的字符串,其中包含键值对。 由于图片胜过千言万语...... 生成基于excel表格的逗号分隔字符串
首行是列名和可视化我想转行1877年到下面的字符串
8:0,9:1,10:0,11:2 ...
所以格式将column_name:column_value,...
因为我有很多的数据解析我很好奇,如果有人可以建议最好的方法来生成 字符串,将最终在MS SQL数据库?
感谢
如果这是你可能只想写在Excel的公式和基础的负荷过一个一次性加载。
=CONCATENATE(C$3,":",$C4,",",D$3,":",$D4,",",E$3,":",$E4,",",F$3,":",$F4)
上述内容可以复制到所有行。它只涵盖前4列,但我认为你明白了。
同样,我只会建议这种方法,如果这是一次性负载,因为它需要这个手动步骤。对于你需要重复的东西,应该看看你的ETL工具的功能(如SSIS)
这里是我如何“解决”从Excel中取消数据的问题:我命名了两个范围Rng_Col(列标题)和Rng_Row(列行)并添加了一个按钮。
比我介绍了以下VBA代码:
Private Sub btnRun3_Click()
'Application.SendKeys "^g ^a {DEL}"
Dim inserStatement As String
insertStatement = "INSERT yourTableName(field1, field2, field3) VALUES(3, "
Dim result, finalResult As String
Dim offset As Integer
offset = 1
For Each r In Range("Rng_Rows3")
For Each c In Range("Rng_Col3")
result = result & "," & c.Value & ":" & r.offset(0, offset).Value
offset = offset + 1
Next c
offset = 1
finalResult = insertStatement & r.Value & ", N'" & Right(result, Len(result) - 1) & "') "
Debug.Print finalResult
result = ""
Next r
End Sub
我已经与SQL INSERT语句告终。希望这可能有助于某人...
列名只是列号? – Amy 2011-06-14 15:44:13
是的,他们只是列号 – krul 2011-06-14 15:49:53