2012-03-05 68 views
2

我做了一个应用程序,从SQL Select中提取记录到Excel。
我想在保存之前更改excel列的数字格式。我制作了EXCEL OLE对象然后将数据写入它Excel对象的语法。更改数字格式

Excel_Sheet.Cells[i + j,k] = s_col 

我想根据列类型更改数字格式。我已经知道如何获得列类型,但没有更改数字格式的运气。

我使用了这些:使标题醒目而根据数据使用自动调整改变宽度。所有我在网上查到:

Excel_Sheet.Range(s_into_row + String(j) + ":" +s_into_col + String(j)).Select 
Excel_Obj.Selection.Font.Bold = True 

Excel_Sheet.Range("A"+String(j)+":A"+String(j)).Select 
Excel_Sheet.Columns(s_into_row + ":" + s_into_col).EntireColumn.AutoFit 

我使用PowerBuilder的

+1

我还没有与Powerbuilder合作,但你有没有尝试过类似'Excel_Sheet.Columns(s_into_row).NumberFormat =“0.00”' – 2012-03-05 06:55:33

+0

嘿它的工作原理,从来没有想过这么简单。谢谢你的回答,我知道PB是无关紧要的,但我只是试图提到它。非常感谢先生。我如何标记你的答案是正确的:D再次感谢 – Sid 2012-03-05 07:01:35

+1

@SiddharthRout:*你*可以发布答案,以便Sid接受它。对解决方案的信任属于你:) – JMax 2012-03-05 08:14:44

回答

1

希德,我没有用PowerBuilder的工作,但你尝试过类似

Excel_Sheet.Columns(s_into_row).NumberFormat = "0.00"

HTH

希德

2

我有一个项目中的一些代码,类似于此:

choose case lower(ls_coltype) 
    case "char" 
     lole_Excel.Selection.NumberFormat = "@" 
    case "date" 
     lole_Excel.Selection.NumberFormat = "mm/dd/yyyy" 
    case "int", "long", "ulong" 
     lole_Excel.Selection.NumberFormat = "0" 
    case "time" 
     lole_Excel.Selection.NumberFormat = "h:mm AM/PM" 
    ... 
end choose 

其中ls_coltype是列式的“(”之后,一切都去掉。