ASP将CSV行转换为数组以便以后按字母顺序排列

时间:2014-08-26 21:29:12

标签: arrays csv asp-classic

我的总体目标是使用csv文件中的公司信息填充html页面。我有两种不同的类型:客户和合作伙伴,每个都有自己的页面。我不知道这是否是最好的方式,但我想获取csv信息并将合作伙伴和客户放入他们自己的阵列中以便稍后调用并按字母顺序排列。这是一切都出错的时候。

我能够使用嵌套的if语句来执行do until循环来区分合作伙伴和客户,但我想如果我可以将每个进入数组,它将节省服务器时间并使我能够按字母顺序排列。

这是有效但可能不是最好的代码,因为我不知道如何按字母顺序排列

Do Until file.AtEndOfStream
    company = file.ReadLine
    field = split(company, ",")     
    dim logo
If field(3) = "Partner" Then
    logo ="<p class=""plogo"">" & vbNewLine &_
        "<a href=""" & field(2) & """ title=""" & field(0) & """>" & vbNewLine &_
        "<img alt=""" & field(0) & """ src=""" &  field(1) & """/></a>" & vbNewLine &_
        "</p>" & vbNewLine & vbNewLine
    part = part & logo

End If
Loop
response.write(part)

我的csv文件设置如下:

公司名称,ImageFile位置,URL,客户/合作伙伴

这是问题代码,说我的类型与Dim part(0,3)不匹配

dim fso,file,cust(),company,field
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile(Server.MapPath("csvasptest.csv"), 1)
dim i
i = 0

Do Until file.AtEndOfStream

    company = file.ReadLine 
    field = split(company, ",") 
    Dim part(0,3) 
    part(0,0) = "" : part(0,1) = "" : part(0,2) = "" : part(0,3) = ""


    If part(0,UBound( part, 2 )) <> "" Then

        ReDim Preserve part(Ubound(part),3)
    End If  

Loop

我得到http://www.webmasterworld.com/forum47/759.htm的声明,看看这对我有帮助。并且http://www.asptutorial.info/sscript/sortarray.html一旦我在数组中获得它就会按字母顺序排列

我愿意接受任何建议。同样,理想情况下,我有一个单独的按字母顺序排列的合作伙伴列表和单独的按字母顺序排列的客户列表,这样您就不会在一个页面上查看100个客户或合作伙伴。相反,20岁以下,10岁以下,等等。

0 个答案:

没有答案