将图像路径从excel电子表格传输到html文件

时间:2012-07-31 00:53:30

标签: html excel csv

我正在尝试用数百张图片路径转换到html页面的电子表格。例如:

excel sheet
imageId    imagePath   

1           images/ima1
2           images/ima2
3           images/ima3
...         .........
...          ........

是否有更快的方法将这些图像转换为html文件而不是逐个输入?

我需要的html文件如下:

<img src=images/ima1 title='ima1' />
<img src=images/ima2 title='ima2' />
<img src=images/ima3 title='ima3' />

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我会在下一栏中创建一个公式。假设images / ima1在B2中,那么你可以将它放入C2中以获得你想要的东西然后粘贴公式。

 ="<img src="&B2&" title='"&RIGHT(B2,LEN(B2)-4)&"' />"

答案 1 :(得分:1)

有几种方法可以做你想做的事。

1。在另一个工作表上,创建一个公式,该公式将从第一个工作表中获取信息并生成所需的HTML。

="<img src=" & CHAR(34) & INDIRECT("Sheet1!B" &ROW()) & CHAR(34) & " title=" & CHAR(34) & INDIRECT("Sheet1!A" & ROW()) & " />"

假设您的数据在Sheet1上,则第二张表格中的每一行(包含该公式)将包含Sheet1上同一行的html。 (如果不相同,则需要调整工作表名称和列)

执行此操作后,您可以复制并粘贴第二张纸中的所有内容。

2。使用宏来生成文件。

    Public Sub GenerateHTML()
    Dim Handle As Integer
    Dim Sheet As Worksheet
    Dim Row As Integer

    Set Sheet = ThisWorkbook.ActiveSheet
    Row = 2

    Handle = FreeFile()

    Open "output.html" For Output As Handle

    Print #Handle, "<html>" & vbNewLine & "<head>" & vbNewLine & "<title>My Gallery...</title>" & vbNewLine & "</head>" & vbNewLine & "<body>"

    Do
        If Sheet.Cells(Row, 1) = "" Then
            Exit Do
        Else
            Print #Handle, "<img src=" & Chr(34) & Sheet.Cells(Row, 2) & Chr(34) & " title=" & Chr(34) & "ima" & Sheet.Cells(Row, 1) & Chr(34) & "/>"
            Row = Row + 1
        End If
    Loop

    Print #Handle, "</body>" & vbNewLine & "</html>"

    Close #Handle

    End Sub

此示例将在与包含所有链接的电子表格相同的目录中创建一个html文件。你需要调整它以满足你的需要,因为它可能不太正确。