注册 登录
编程论坛 VFP论坛

xlsx 表数据内容导入到dbf表中出现的问题

lnsyzhuhua 发布于 2023-06-11 21:44, 831 次点击
只有本站会员才能查看附件,请 登录
5 回复
#2
fyyylyl2023-06-12 09:08
SELECT CAST(借款时间 AS D),CAST(借款到期日 AS D) FROM 通知书
#3
吹水佬2023-06-12 09:42
    OEXCEL.ActiveSheet.Rows(1).Delete()        && 删除首行
    OEXCEL.ActiveSheet.Columns("A:B").NumberFormatLocal = "yyyy/m/d;@"    && 日期格式
#4
厨师王德榜2023-06-13 14:05
不需要另存为txt文件,这样有点多余.可以用数组取出来..
出于演示目的,以下代码去掉了for循环 ,你自己加上.
程序代码:
LOCAL oExcel as Object ,oSht as object ,irow as Integer
DIMENSION arr1[1,1]

OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
OEXCEL.DISPLAYALERTS = .F.
wjm = "c:\XIDE\Prg\通知书.xlsx"
      
OEXCEL.WORKBOOKS.OPEN(wjm)
osht = OEXCEL.ActiveSheet
irow = osht.usedrange.rows.count  && 取最末行
arr1 = osht.range(osht.cells(2,1),osht.cells(irow,2)).value  && 取数据区(从第2行开始)到数组arr1
OEXCEL.ACTIVEWORKBOOK.CLOSE()
OEXCEL.QUIT()

SELECT 通知书
APPEND FROM ARRAY arr1
DIMENSION arr1[1,1]  && 释放.便于下一个循环再用.

#5
lnsyzhuhua2023-06-14 09:12
回复 3楼 吹水佬
只有本站会员才能查看附件,请 登录
   对其他数据为数字的有影响,比如新加的序号
#6
吹水佬2023-06-14 09:35
回复 5楼 lnsyzhuhua
这个B:C才是日期
OEXCEL.ActiveSheet.Columns("B:C").NumberFormatLocal = "yyyy/mm/dd;@"
1