以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 零的哪里去了? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92402) |
-- 作者:hbhb -- 发布时间:2016/11/2 16:26:00 -- 零的哪里去了? 大师:明明窗口中的表中数字有158.00,导出为excel后就变为158,零飞了。什么原因?CellStyle 已经设为true? |
-- 作者:有点蓝 -- 发布时间:2016/11/2 16:59:00 -- 跟CellStyle 应该没有关系。在主表把这列属性固定位数设置为true试试 测试SetFormat对saveExcel无效 |
-- 作者:hbhb -- 发布时间:2016/11/2 17:05:00 -- 我是临时增加的列,通过SetFormat 设置的小数位数,怎么搞? |
-- 作者:有点蓝 -- 发布时间:2016/11/2 17:18:00 -- 用vba设置这列的格式咯 |
-- 作者:hbhb -- 发布时间:2016/11/2 17:29:00 -- 狐表是好,什么都能实现!就是要折腾! |
-- 作者:hbhb -- 发布时间:2016/11/2 17:35:00 -- a,c,f列数字设置为0.00格式怎么写代码?劳驾写一下如何? |
-- 作者:有点蓝 -- 发布时间:2016/11/2 17:46:00 -- NumberFormat 单元格格式是通过NumberFormat或NumberFormatLocal属性来完成的。例如: Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.Range("A1").NumberFormat = "G/通用格式" \'通用格式 Ws.Range("B1").NumberFormat = "0_ " \'数值 Ws.Range("C1").NumberFormat = "#,##0.00_);[红色](#,##0.00)" \'货币 Ws.Range("D1").NumberFormat = "_ * #,##0.00_;_ * -#,##0.00_ ;_ * ""-""??_ ;_ @_ " \'会计专用 Ws.Range("E1").NumberFormat = "yyyy-m-d" \'日期 Ws.Range("F1").NumberFormat = "h:mm:ss" \'时间 Ws.Range("G1").NumberFormat = "0.00%" \'百分比 Ws.Range("H1").NumberFormat = "# ?/?" \'分数 Ws.Range("I1").NumberFormat = "0.00E+00" \'科学记数 Ws.Range("J1").NumberFormat = "@" \'文本 App.Visible = True 可在上述代码执行完毕后,在相应的单元格中输入数据以查看格式效果。 |
-- 作者:hbhb -- 发布时间:2016/11/2 17:52:00 -- 区域或整列、整行怎么设置? |
-- 作者:有点蓝 -- 发布时间:2016/11/2 18:04:00 -- 通过Range属性引用 这也是引用单元格最常用的方式,如: Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range Rg = Ws.Range("A5") \'引用单个单元格 Rg = Ws.Range("A3:B5") \'引用连续的单元格区域 Rg = Ws.Range("A1:D8,A20:C25,F6:G10")\'引用不连续的单元格区域 Rg = Ws.Range("B:B") \'引用单列,也可以Columns引用。如:Rg=Ws.Columns("B"),或者 Rg=Ws.Columns(2) Rg = Ws.Range("B:D") \'引用连续的多列 Rg = Ws.Range("A:A,C:C,H:H") \'引用不连续的多列 Rg = Ws.Range("5:5") \'引用单行 Rg = Ws.Range("5:20")\'引用连续的多行 Rg = Ws.Range("1:1,3:3,5:5") \'引用不连续的多行 |
-- 作者:hbhb -- 发布时间:2016/11/2 18:24:00 -- 那要不要判断是否为数字与汉字? |