回复 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)