以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]请问如何输出XLS单元格为格式化的数值类型 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129860) |
-- 作者:明天的灵 -- 发布时间:2019/1/7 20:22:00 -- [求助]请问如何输出XLS单元格为格式化的数值类型 现通过以下语句输出格式化的XLS单元格 Dim dt As Table = Tables("出库表") Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 。。。 Sheet(2, 3).Value = Format(dt.rows(10)(金额)),"0.00") \'保留二位小数 。。。 以上输出到XLS 文件后,这个单元格的左上角带有文本标志,是文本类型,现在需要保留二位小数的格式下,写入到XLS文件的单元格还是数值类型。 |
-- 作者:有点蓝 -- 发布时间:2019/1/7 20:44:00 -- 这种只能通过vba来设置:http://www.foxtable.com/webhelp/scr/2121.htm,看NumberFormat用法 |
-- 作者:明天的灵 -- 发布时间:2019/1/7 23:45:00 -- 查看上面帮助,
这是对未录入数值的单元格设置, 对于已有数据不起作用。 |
-- 作者:有点甜 -- 发布时间:2019/1/8 9:44:00 -- 改成比如
Dim Book As New XLS.Book \'定义一个Excel工作簿 |
-- 作者:明天的灵 -- 发布时间:2019/1/9 12:58:00 -- Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Sheet(2, 3).Value = val(Format(99.123456,"0.00")) \'保留二位小数 Sheet(3, 3).Value = val(Format(99.1,"0.00")) \'保留二位小数 book.Save("d:\\123.xls") Dim proc As new Process proc.File = "d:\\123.xls" proc.Start 这样输出后,没有统一的小数点位数,没有达到要保留二位小数的格式的需求。 输出XLS如下图:
[此贴子已经被作者于2019/1/9 12:59:35编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/1/9 15:31:00 -- Dim Book As New XLS.Book \'定义一个Excel工作簿 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim style As xls.style = book.NewStyle style.Format = "0.00" Sheet(2, 3).Value = 99.123456 Sheet(2, 3).Style = style Sheet(3, 3).Value = 99.1 Sheet(3, 3).Style = style book.Save("d:\\123.xls") Dim proc As new Process proc.File = "d:\\123.xls" proc.Start |
-- 作者:明天的灵 -- 发布时间:2019/1/9 17:28:00 -- 谢谢甜版主!现在可以了,输出格式保持2位小数点。 |