一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - VBA - VBA將excel數據表生成JSON文件

VBA將excel數據表生成JSON文件

2020-06-04 10:28VBA教程網 VBA

本文給大家匯總介紹了幾種使用VBA處理EXCEL并生成JSON文件的方法和思路,非常的實用,有需要的小伙伴可以參考下。

ADODB.Stream創建UTF-8+BOM編碼的文本文件。

然后遍歷數據區,格式化數據,輸出即可。

小數據還行,大數據沒測試。

另,使用fso創建的文本文件編碼為ANSI,ajax解析json時出現亂碼無法正常解析。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Sub ToJson() '創建UTF8文本文件
 myrange = Worksheets("sheet1").UsedRange '通過有效數據區來選擇數據
 'myrange = ActiveWorkbook.Names("schoolinfo").RefersToRange '通過定義的名稱來選擇數據
 'myrange = Range(Worksheets("sheet1").Range("a1").End(xlDown), Worksheets("sheet1").Range("a1").End(xlToRight)) '通過標題行的最大行最大列來選擇數據
 
Total = UBound(myrange, 1) '獲取行數
Fields = UBound(myrange, 2) '獲取列數
 
   Dim objStream As Object
   Set objStream = CreateObject("ADODB.Stream")
   
   With objStream
      .Type = 2
      .Charset = "UTF-8"
      .Open
      .WriteText "{""total"":" & Total & ",""contents"":["
   
      For i = 2 To Total
        .WriteText "{"
        For j = 1 To Fields
          .WriteText """" & myrange(1, j) & """:""" & Replace(myrange(i, j), """", "\""") & """"
           If j <> Fields Then
            .WriteText ","
           End If
        Next
        If i = Total Then
            .WriteText "}"
        Else
            .WriteText "},"
        End If
      Next
 
      .WriteText "]}"
      .SaveToFile ActiveWorkbook.FullName & ".json", 2
   End With
   Set objStream = Nothing
End Sub

最近在寫一網站網頁,需要從后臺ASP網頁查詢到的MYSQL記錄集返回給前臺ASP網頁,我們知道AJAX是無力從后臺返回數據庫記錄集給前臺網頁的.

查閱大量資料,就目前而言記錄集轉換成JSON格式流,再由前臺VBA導入WEBoffice控件的excel是個不錯的選擇.經過些思考,現將function過程代碼奉獻給大家.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  Function GetJSON(Rs)
  Dim JSON 
  dim returnStr
  dim i
  dim oneRecord  
  if Rs.eof=false and Rs.Bof=false then
  returnStr="{ "&chr(34)&"records"&chr(34)&":["   
  while Rs.eof=false
  
   for i=0 to Rs.Fields.Count -1
    oneRecord=oneRecord & chr(34) & Rs.Fields(i).Name & chr(34) &":"
    oneRecord=oneRecord & chr(34) & Rs.Fields(i).Value & chr(34) &","
   Next
   oneRecord=left(oneRecord,InStrRev(oneRecord,",")-1)
   oneRecord=oneRecord & "},"
   returnStr=returnStr  & oneRecord
   Rs.MoveNext
  Wend
  returnStr=left(returnStr,InStrRev(returnStr,",")-1)
  returnStr=returnStr & "]}"
  end if
  GetJSON=returnStr  
End Function

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费av在线看 | 亚洲国产欧美在线人成aaaa20 | 美女禁区视频无遮挡免费看 | 亚洲 欧美 中文 日韩 另类 | 天天综合网网欲色 | 精品国产精品国产 | 我的漂亮朋友在线观看全集免费 | 国产激情久久久久影院小草 | 九九热视频免费 | 日本在线亚州精品视频在线 | 欧美爽妇| 国产nv精品你懂得 | 国产999在线观看 | 369手机看片| 青青青在线观看国产精品 | 欧美亚洲一区二区三区在线 | 久久毛片基地 | 被肉日常np高h | 波多野结衣伦理在线观看 | 日韩永久在线观看免费视频 | 韩国最新三级网站在线播放 | 国产经典一区二区三区蜜芽 | 亚欧综合 | 色噜噜 男人的天堂在线观看 | 久久精品视在线观看85 | 国产999在线观看 | 日本无遮挡亲吻膜下面免费 | 日韩在线一区二区三区 | 日韩在线观看一区二区不卡视频 | 精品一区二区三区免费视频 | 四虎影视4hu最新地址在线884 | 人禽l交免费视频观看+视频 | 男人操女人免费视频 | heyzo在线播放| 性直播免费 | 四虎影视色费永久在线观看 | 国产v视频 | 亚洲丁香网 | 亚洲国产精品久久丫 | 国产亚洲精品一区在线播 | 四虎网址大全 |