我有一个网络应用程序,可以将报告导出到Excel。为此,它将报表表的HTML发送到剪贴板,然后将其粘贴到Excel中。又快又脏。而且它通过得相当好。数字被格式化为数字,日期被格式化为日期,等等。
但是报告中的负数被格式化为使用括号而不是减号,当它被粘贴到Excel中时,它会更改为减号。您可以通过在记事本中键入(200),然后选择它,复制它,并将它粘贴到Excel电子表格中的单元格中,就可以看到这一点。它将以-200的速度通过。
我的用户希望将其显示为(200)。我可以使用Javascript的自动化来手动格式化选定的单元格。但这很慢。是否有任何方法使Excel更改其默认的数字格式?
发布于 2014-05-28 13:18:36
如果要将HTML格式的数据以表格的形式粘贴到Excel中,则可以包括css样式以控制单元格内容的显示方式。
见(例如):http://cosicimiento.blogspot.com/2008/11/styling-excel-cells-with-mso-number.html
VBA示例:
Sub Formatting()
Dim html As String, d As New DataObject
html = "<table><tr><td>(200)</td></tr>" & _
"<tr><td style='mso-number-format:\@'>(200)</td></tr></table>"
d.SetText html
d.PutInClipboard
End Sub
https://stackoverflow.com/questions/23921151
复制