生成基于Excel表的逗号分隔的string

我必须根据Excel表格中的数据生成带有键值对的逗号分隔string。 既然图片胜过千言万语 问题解析excel

顶行是列的名称和可视化我想把行1877变成下面的string

8:0,9:1,10:0,11:2 ... 

所以格式会是column_name:column_value,...因为我有很多的数据来parsing我很好奇,如果有人可以build议最好的方法来生成string,将最终在MS SQL数据库?

谢谢

如果这是一次性的加载,你可能只想在Excel中写一个公式,并把你的负载放在那里。

 =CONCATENATE(C$3,":",$C4,",",D$3,":",$D4,",",E$3,":",$E4,",",F$3,":",$F4) 

以上可以复制到所有行。 它只包括前4列,但我认为你明白了。

同样,如果这是一次性负载,我只会推荐这种方法,因为它需要这个手动步骤。 对于你需要重复的东西,你应该看看你的ETL工具(如SSIS)的function,

这里是我如何“解决”从Excel中报废数据的问题:我命名了两个范围Rng_Col(列标题)和Rng_Row(列行)并添加了一个button。 在这里输入图像说明

比我介绍了以下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插入语句; 希望这可能有助于某人…