如何将excel中的数据插入到html表中?

时间:2016-02-13 10:53:47

标签: html sql database excel

我有一个excel文件,其中包含足球统计数据,我希望能够更改excel数字,这样网站就会自动更新其表格。

有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

这并不能完全回答你的问题,但我认为将其作为部分答案。我有一个通用的程序(方法),我不时使用它将Excel Table(又名ListObject)转换为HTML表格。 Perl有一个能够很好地完成这个任务的模块,但是我从来没有发现任何与VBA类似的东西,因此我的手动代码。

唯一需要注意的是,您的数据必须在表格中。如果它来自RDBMS,那么最简单的方法就是通过MS Query引入它,它会自动将输出呈现为Table / ListObject。

我知道你在谈论网络并没有提及VBA - 只需要考虑它的价值。我希望它有一些你可以收集的有用组件。

Function TableToHtml(ByRef Table As ListObject, Title As String) As String

  Dim row As ListRow
  Dim header, col As range
  Dim output As String

  output = _
    "<html>" & vbCrLf & _
    "  <head>" & vbCrLf & _
    "    <title>" & vbCrLf & _
    Title & vbCrLf & _
    "    </title>" & vbCrLf & _
    "  </head>" & vbCrLf & _
    "<body>" & vbCrLf & _
    "<font size=""5"">" & Title & "</font><br><br>" & vbCrLf & _
    "<table border='1px' cellpadding='5' cellspacing='0' style='border: solid 1px Black; font-size: small;'>"

  output = output & "<tr align='center' valign='top'>" & vbCrLf

  Set header = Table.HeaderRowRange
  For Each col In header.Columns
    output = output & "  <td align='center' valign='top'>" & col.Value & "</td>" & vbCrLf
  Next col

  output = output & "</tr>" & vbCrLf

  For Each row In Table.ListRows
    output = output & "<tr align='left' valign='top'>" & vbCrLf
    For Each col In row.range.Columns
      output = output & "  <td align='center' valign='top'>" & col.Value & "</td>" & vbCrLf
    Next col
    output = output & "</tr>" & vbCrLf
  Next row

  Dim o As Object

  output = output & "<tr align='left' valign='top'>" & vbCrLf
  For Each header In Table.TotalsRowRange
    output = output & "  <td align='center' valign='top'>" & header.Value & "</td>" & vbCrLf
  Next header
  output = output & "</tr>" & vbCrLf

  output = output & "</table>" & vbCrLf & "</body>" & vbCrLf & "</html>"
  TableToHtml = output

End Function

是的,这是相当暴力的。