欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VBA將excel數(shù)據(jù)表生成JSON文件

 更新時(shí)間:2015年09月14日 08:55:51   投稿:hebedich  
本文給大家匯總介紹了幾種使用VBA處理EXCEL并生成JSON文件的方法和思路,非常的實(shí)用,有需要的小伙伴可以參考下。

ADODB.Stream創(chuàng)建UTF-8+BOM編碼的文本文件。

然后遍歷數(shù)據(jù)區(qū),格式化數(shù)據(jù),輸出即可。

小數(shù)據(jù)還行,大數(shù)據(jù)沒測試。

另,使用fso創(chuàng)建的文本文件編碼為ANSI,ajax解析json時(shí)出現(xiàn)亂碼無法正常解析。

Sub ToJson() '創(chuàng)建UTF8文本文件
 myrange = Worksheets("sheet1").UsedRange '通過有效數(shù)據(jù)區(qū)來選擇數(shù)據(jù)
 'myrange = ActiveWorkbook.Names("schoolinfo").RefersToRange '通過定義的名稱來選擇數(shù)據(jù)
 'myrange = Range(Worksheets("sheet1").Range("a1").End(xlDown), Worksheets("sheet1").Range("a1").End(xlToRight)) '通過標(biāo)題行的最大行最大列來選擇數(shù)據(jù)
 
Total = UBound(myrange, 1) '獲取行數(shù)
Fields = UBound(myrange, 2) '獲取列數(shù)
 
   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

最近在寫一網(wǎng)站網(wǎng)頁,需要從后臺ASP網(wǎng)頁查詢到的MYSQL記錄集返回給前臺ASP網(wǎng)頁,我們知道AJAX是無力從后臺返回?cái)?shù)據(jù)庫記錄集給前臺網(wǎng)頁的.

查閱大量資料,就目前而言記錄集轉(zhuǎn)換成JSON格式流,再由前臺VBA導(dǎo)入WEBoffice控件的excel是個(gè)不錯(cuò)的選擇.經(jīng)過些思考,現(xiàn)將function過程代碼奉獻(xiàn)給大家.

    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

相關(guān)文章

  • VBA將excel數(shù)據(jù)表生成JSON文件

    VBA將excel數(shù)據(jù)表生成JSON文件

    本文給大家匯總介紹了幾種使用VBA處理EXCEL并生成JSON文件的方法和思路,非常的實(shí)用,有需要的小伙伴可以參考下。
    2015-09-09
  • VBA實(shí)現(xiàn)全文件快速替換的示例代碼

    VBA實(shí)現(xiàn)全文件快速替換的示例代碼

    要想一下子就替換掉很多個(gè)WORD文檔中的內(nèi)容,我們可以使用VBA的辦法,本文主要介紹了VBA實(shí)現(xiàn)全文件快速替換的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • UserAccessList 集合的功能(VBA)

    UserAccessList 集合的功能(VBA)

    可用 ProtectedRange 對象的 Users 屬性返回一個(gè) UserAccessList 集合。
    2009-07-07
  • 當(dāng)編輯框內(nèi)容改變 對應(yīng)的單元格也隨著改變vba代碼

    當(dāng)編輯框內(nèi)容改變 對應(yīng)的單元格也隨著改變vba代碼

    當(dāng)編輯框內(nèi)容改變 對應(yīng)的單元格也隨著改變vba代碼
    2009-07-07
  • VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • excel vba 高亮顯示當(dāng)前行代碼

    excel vba 高亮顯示當(dāng)前行代碼

    用條件格式設(shè)置高亮顯示當(dāng)前行,難的是如何確定當(dāng)前行。用VBA就很簡單,鼠標(biāo)右擊工作表標(biāo)簽,選擇“查看代碼”,將下面的代碼粘貼到VBE窗口中
    2009-07-07
  • VBA中的循環(huán)代碼的使用

    VBA中的循環(huán)代碼的使用

    本文主要介紹了VBA中的循環(huán)代碼的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • VBA UsedObjects 集合用法

    VBA UsedObjects 集合用法

    可用 Application 對象的 UsedObjects 屬性返回一個(gè) UsedObjects 對象。
    2009-07-07
  • VBA工程加密PJ方式(兩種)

    VBA工程加密PJ方式(兩種)

    今天遇到一個(gè)excel小工具感覺不錯(cuò),想研究研究代碼,竟然有密碼,我就不淡定了。網(wǎng)上找了找代碼,改了一下就OK了。接下來通過本文給大家分享兩種方式破解VBA工程加密,需要的朋友參考下吧
    2021-12-12
  • Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn)

    Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn)

    表格拆分是常見的數(shù)據(jù)處理,本文主要介紹了Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評論