我有一个将报告导出到Excel的Web应用程序。它通过将报告表的HTML发送到剪贴板,然后将其粘贴到Excel中来完成此操作。又脏又脏。它来得相当不错。数字格式化为数字,日期格式为日期,依此类推。
但是报告的负数被格式化为使用括号而不是减号,当它被粘贴到Excel中时,它会变为减号。您只需在记事本中键入(200),然后选择它,复制它并将其粘贴到Excel电子表格中的单元格中即可看到此操作。它将以-200发布。
我的用户希望将其显示为(200)。我可以使用Javascript自动化手动格式化选定的单元格。但那很慢。有没有办法让Excel更改其默认数字格式?
答案 0 :(得分:0)
如果您将表格形式的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