Read text file and show in table vbscript

前端 未结 2 488
攒了一身酷
攒了一身酷 2021-01-14 17:27

I have a text file with following structure :-

C:\\Users\\abc\\Desktop\\New Folder\\sample.txt
AccountName->AbcPos
AccountName->dblLayer
queryAccount-         


        
相关标签:
2条回答
  • 2021-01-14 17:56

    My Implementation is like :-

    Set mytable=document.CreateElement("table")
    set thead = document.createElement("thead")
    set tr=document.createElement("tr")
    set th1=document.createElement("th")
    
    th1.setattribute "colSpan","4" 
    tr.appendChild th1
    thead.appendChild tr
    set tr2= document.createElement("tr")
    set th1= document.createElement("th")   
    set th2= document.createElement("th")
    set th3= document.createElement("th")
    set th4= document.createElement("th")
    set th5= document.createElement("th")
    th1.innerText="AccountName1"
    th2.innerText="AccoutnName2"
    th3.innerText="QueryAccount"
    th4.innerText="QueryName"
    th5.innerText="Path/Location"
    tr2.appendChild th1
    tr2.appendChild th2
    tr2.appendChild th3
    tr2.appendChild th4
    tr2.appendChild th5
    thead.appendChild tr2
    mytable.appendChild thead
    
    .......................
    .......................
    For Each thing in Fls
    ......................
    ........................
    
    set td1 = document.createElement("td")
    set td2 = document.createElement("td")
    set td3 = document.createElement("td")
    set td4 = document.createElement("td")
    set td5 = document.createElement("td")
    
    if condition
    
    set tr3=document.createElement("tr")
    td1.innerText=nodeinfo(0)
    td2.innerText=nodeinfo(1)
    td3.innerText=nodeinfo(2)
    td4.innerText=node.text
    td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
    
    tr3.appendChild td1
    tr3.appendChild td2
    tr3.appendChild td3
    tr3.appendChild td4
    tr3.appendChild td5
    tbod.appendChild tr3
    elseif i=2 then
    set tr3=document.createElement("tr")
    td1.innerText="--"
    td2.innerText=nodeinfo(0)
    td3.innerText=nodeinfo(1)
    td4.innerText=node.text
    td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
    tr3.appendChild td1
    tr3.appendChild td2
    tr3.appendChild td3
    tr3.appendChild td4
    tr3.appendChild td5
    tbod.appendChild tr3
    elseif i=1 then
    set tr3=document.createElement("tr")
    td1.innerText="--"
    td2.innerText="--"
    td3.innerText=nodeinfo(0)
    td4.innerText=node.text
    td5.innerHtml="<a href=" & "'" & thing.Path & "'" & ">" & thing.Path &"</a>"
    tr3.appendChild td1
    tr3.appendChild td2
    tr3.appendChild td3
    tr3.appendChild td4
    tr3.appendChild td5
    tbod.appendChild tr3
    
    0 讨论(0)
  • 2021-01-14 18:09

    To get you started wrt the parsing of your (one and only) input file:

    1. Loop over the lines (no need to load them into memory)
    2. Use "next" to detect 'end of record'
    3. Split on "->" to get key-value-pairs
    4. Store the interesting values in an array to make format/markup easy via Join

    As in:

    Option Explicit
    
    Const csSep = "->"
    
    Dim oFS : Set oFS = CreateObject("Scripting.FileSystemObject")
    Dim oTS : Set oTS = oFS.OpenTextFile("..\data\36060599.txt")
    
    ReDim aData(4)
    Do Until oTS.AtEndOfStream
       Dim sLine  : sLine  = Trim(oTS.ReadLine())
       Dim sValue : sValue = ""
       If InStr(sLine, csSep) Then sValue = Split(sLine, csSep)(1)
       Select Case True
          Case ":" = Mid(sLine, 2, 1) ' the Path
            aData(0) = sLine
          Case "AccountName" = Left(sLine, 11)
            aData(2 + IsEmpty(aData(1))) = sValue
          Case "queryAccount" = Left(sLine, 12)
            aData(3 + IsEmpty(aData(1))) = sValue
          Case "queryName" = Left(sLine, 9)
            aData(4 + IsEmpty(aData(1))) = sValue
          Case "next" = sLine ' End Of Record
    '       WScript.Echo "<tr><td>" & Join(aData, "</td><td>") & "</td></tr>"
            WScript.Echo "|" & Join(aData, "|") & "|"
            ReDim aData(4)
       End Select
    Loop
    oTS.Close
    

    output:

    cscript 36060599.vbs
    |C:\Users\abc\Desktop\New Folder\sample.txt|AbcPos|dblLayer|qskxyz|def|
    |C:\Users\abc\Desktop\New Folder\New folder\sample3.txt|AbcPos|prelLayer|serchTerm|myName1|
    |C:\Users\abc\Desktop\New Folder\sample1.txt|AbcPos|dblLayer|qskxyz|qixyz|
    |C:\Users\abc\Desktop\New Folder\sample2.txt|AbcPos|prelLayer|serchTerm|myName1|
    

    Can't help you with ASP, sorry.

    0 讨论(0)
提交回复
热议问题