我有一个excel文件,其中包含足球统计数据,我希望能够更改excel数字,这样网站就会自动更新其表格。
有可能这样做吗?
答案 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
是的,这是相当暴力的。