回复 10楼 xuminxz
感谢回复。CSV是记录限制要好许多,但是格式总会出现问题,比如:身份证号、条形码等都变成科学计数了,纯数字内容的字符型字段(如商品代码),也变成数值型了,日期时间字段的秒被截断了,等等
copy to test type csv 时,有什么办法可以指定列的格式吗?
[此贴子已经被作者于2021-8-25 15:22编辑过]
程序代码:CREATE CURSOR 测试表 (编号 C(10), 入库单号 C(7), 入库日期 D, 物料名称 C(20), 数量 I,;
单价 N(14,2), 单位 C(8), 规格 C(30), 付款 L, 日期时间 T, 备注 M)
FOR i=1 To 10
INSERT INTO 测试表 VALUES (PADL(i,10,"0"), 'C'+PADL(i,6,'0'), {^2018-03-01}+INT(RAND()*10),;
'物料'+PADL(i,3,'0'), INT(RAND()*1000), RAND()*10, '个', '"测试双引号AB"CD"',;
IIF(i%2=0,.t.,.f.), DATETIME(), '"备注_"'+TRANSFORM(i)+'"'+0h0D0A+'_'+TRANSFORM(i)+'"'+0h0D0A)
ENDFOR
SELECT * FROM 测试表 INTO ARRAY arr
sc = CREATEOBJECT("ScriptControl")
sc.Language = "VBScript"
TEXT TO cCode TEXTMERGE NOSHOW PRETEXT 7
FUNCTION fun(vfpArray)
dim oExcel,oRange
set oExcel = CREATEOBJECT("Excel.Application")
oExcel.Workbooks.Add
set oRange = oExcel.ActiveSheet.Range(oExcel.Cells(1,1),oExcel.Cells(UBound(vfpArray,1),UBound(vfpArray,2)))
oRange.Value = vfpArray
oRange.Columns.AutoFit
oExcel.Visible = 1
END FUNCTION
ENDTEXT
sc.AddCode(cCode)
sc.Run("fun",@arr)