0

我需要有关 Excel 导出的帮助。我正在尝试使用 Progress 4GL 将列导出为文本。我需要列中具有前导“0”的数字,excel 在打开时会不断删除。

我尝试使用 STRING 函数使变量在导出之前成为字符串。那没起效。有没有其他方法可以用前导 0 导出?

4

4 回答 4

1

我假设您正在将正在进行的文件保存为 CSV,并且当在 Excel 中打开文件时,它会丢失前导 0。

输出字符串时,您可以按如下方式将其括起来,以便 excel 将其作为字符串读取。

把未格式化的 '="' string("00123") '"'

于 2013-10-16T00:08:36.477 回答
0

如果您直接写入 Excel,您可以在数字的开头放置一个 ' 字符,然后 Excel 会将其解释为带有文本格式的数字。

你可以在这里看到它的实际效果:

def var ch-excel      as com-handle no-undo.
def var ch-wrk        as com-handle no-undo.

create "Excel.Application" ch-excel no-error.
ch-excel:visible       = no no-error.
ch-excel:DisplayAlerts = no no-error.

ch-wrk = ch-excel:workbooks:add.

ch-excel:cells(1,1) = "'01".
ch-wrk:SaveAs("c:\temp\test.xlsx", 51, "", "", false, false, ) no-error. /* 51 = xlOpenXMLWorkbook */

ch-excel:DisplayAlerts = yes.
ch-excel:quit().
release object ch-wrk.
release object ch-excel.

由于我使用 excel 生成报告已经有一段时间了,所以我创建了一个小库,可以根据临时表定义生成 excel,我认为它可能会有所帮助,您可以在以下位置进行检查:https: //github.com/rodolfoag/4gl-excel

于 2013-10-16T14:28:55.610 回答
0

当您手动导入 excel 时,选择列为 TEXT 而不是 GENERAL,那么前导零不会消失

于 2013-10-17T08:23:47.423 回答
0

您可以设置单元格的格式,如下所示:

h-excel:Range("A12")::numberformat = FILL("0",x).

x您要插入的变量的长度在哪里。

于 2016-05-18T08:35:14.477 回答