Excel对象的语法。更改数字格式

时间:2012-03-05 06:32:22

标签: sql excel excel-vba extract powerbuilder vba

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

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

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

我使用了这些:使标题粗体并根据数据使用AutoFit更改宽度..我在互联网上找到的所有内容:

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

2 个答案:

答案 0 :(得分: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是列类型,带有“(”和删除后的所有内容。

答案 1 :(得分:1)

Sid,我没有和Powerbuilder合作,但是你尝试过像

这样的东西

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

HTH

西特