Vbscript 从csv文件分配变量
我有一个csv文件(示例) 我试图在vbscript中找到一种方法,在我的网站上有一个单独的选择框,列出a列的值,然后用同一行中B列和C列的内容填充两个变量 我有我需要的东西来读取csv文件,可以循环浏览文件并回显所有内容,但是我很难找到从这里开始的方向。任何关于我可以从哪里开始的建议都将不胜感激 我目前拥有的代码是Vbscript 从csv文件分配变量,vbscript,Vbscript,我有一个csv文件(示例) 我试图在vbscript中找到一种方法,在我的网站上有一个单独的选择框,列出a列的值,然后用同一行中B列和C列的内容填充两个变量 我有我需要的东西来读取csv文件,可以循环浏览文件并回显所有内容,但是我很难找到从这里开始的方向。任何关于我可以从哪里开始的建议都将不胜感激 我目前拥有的代码是 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextF
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("\\rkaspctl01\n$\wwwroot\dev\clients.csv", 1)
do while not (objTextFile.AtEndOfStream)
arrStr = Split(objTextFile.ReadLine, ",")
strFirm = arrStr(0)
strCode = arrStr(1)
strServer = arrStr(2)
Loop
objTextFile.close
谢谢
Patrick Stoddard开始将数据放入键/值对(字典),其中键是a列中的值,值是包含B列和C列中的值的数组:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("\\rkaspctl01\n$\wwwroot\dev\clients.csv", 1)
Set objFirmDict = CreateObject("Scripting.Dictionary")
do while not (objTextFile.AtEndOfStream)
arrStr = Split(objTextFile.ReadLine, ",")
objFirmDict.Add arrStr(0), array(arrStr(1), arrStr(2))
Loop
objTextFile.close
现在,您可以使用字典中的键填充列表框。伪代码:
firmListbox = document.getElementById("firmSelect")
For each firm in objFirmDict.Keys
Set newOption = document.createElement("option")
newOption.text = firm
newOption.value = firm
firmListbox.Add newOption, Nothing
Next
选择一个选项后,用正确的文本更新这两个变量
在您的网页上:
<input type="select" id="firmSelect" onchange="vbscript:firmSelectChange me.Value">
您可以使用TDC()
贸发局例子
坚定的
代码
服务器
输出结果:
我不清楚你的实际问题是什么。您的代码示例确实从CSV文件中读取记录。一旦从文件中读取数据,您想对其做什么?谢谢AutomatedChaos和Panayot这两个选项都为我提供了一个很好的起点。我会看看我能对他们做些什么,然后告诉你会发生什么。
<input type="select" id="firmSelect" onchange="vbscript:firmSelectChange me.Value">
Sub firmSelectChange(value)
dataArr = objFirmDict.Item(value)
code = dataArr(0)
server = dataArr(1)
End Sub
<HTML>
<HEAD>
<TITLE>TDC Example</TITLE>
<OBJECT ID="dataTDC" CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM NAME="TextQualifier" VALUE="">
<PARAM NAME="FieldDelim" VALUE=",">
<PARAM NAME="DataURL" VALUE="data.csv">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
</HEAD>
<BODY>
<TABLE DATASRC="#dataTDC" BORDER="1" CELLSPACING="0">
<THEAD>
<TR>
<TD><B>Firm</B></TD>
<TD><B>Code</B></TD>
<TD><B>Server</B></TD>
</TR>
</THEAD>
<TR>
<TD><SPAN DATAFLD="Firm"></SPAN></TD>
<TD><SPAN DATAFLD="Code"></SPAN></TD>
<TD><SPAN DATAFLD="Server"></SPAN></TD>
</TR>
</TABLE>
</BODY>
</HTML>