我必須根據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