2,748
社区成员




public mypath
mypath=""
mypath=getfile("xls")
if empty(mypath) &&判断文件名是否为空
wait clear
return
endif
_ole_excel = CreateObject("Excel.Application")
_ole_excel.WorkBooks.Open(mypath) && 要打开的工作表名(xls)必须是全路径
_ole_excel.WorkSheets(1).Activate &&激活指定的工作簿
bookExcel = _ole_excel.APPLICATION.Workbooks.OPEN(mypath)
nrows=bookExcel.Worksheets(1)
UsedRange =nrows.UsedRange
r = UsedRange.ROWS.COUNT
if used('dinge')
select dinge
use
endif
USE dinge
&&select dinge
delete all
pack
for i=2 TO r
&&IF EMPTY(NVL(_ole_excel.cells(i,1).value,'')) AND empty(nvl(_ole_excel.cells(i,2).value,''))
IF empty(nvl(_ole_excel.cells(i,2).value,''))
EXIT
else
With _ole_excel
Insert Into dinge;
(材料编码,材料名称,规格型号,计量单位,数量,计划单价,计划金额,部门) ;
Values(;
Cast(NVL(.cells(i,1).value,'') as C(20)),;
Cast(Nvl(.cells(i,2).value,'') as C(30)),;
Cast(Nvl(.cells(i,3).value,'') as C(30)),;
Cast(Nvl(.cells(i,4).value,'') as C(10)),;
Cast(Nvl(.cells(i,5).value,'') as N(10,2)), ;
Cast(Nvl(.cells(i,6).value,'') as N(10,2)), ;
Cast(Nvl(.cells(i,7).value,'') as N(10,2)), ;
Cast(Nvl(.cells(i,8).value,'') as C(20)))
EndWith
endif
ENDFOR
_ole_excel.quit
select 材料编码,材料名称,规格型号,计量单位,sum(数量) as 数量,计划单价,sum(计划金额) as 计划金额,部门 from dinge group by 材料编码,材料名称,规格型号,部门 into cursor temp
if used('dinge_1')
select dinge_1
use
endif
use dinge_1 in 1
delete from dinge_1
select dinge_1
PACK
append from dbf('temp')
UPDATE A SET A.计划单价=B.计划单价,A.计划金额=A.计划单价*A.数量 FROM dinge_1 A INNER JOIN cwb_1 B ON;
IIF(NVL(a.材料编码,'AAA')='AAA' OR EMPTY(a.材料编码),ALLTRIM(A.材料名称)=ALLTRIM(B.材料名称) AND ALLTRIM(A.规格型号)=ALLTRIM(B.规格型号),A.材料编码=B.材料编码)
_SCREEN.ActiveForm.pageframe1.page2.grid1.recordsource=''
_SCREEN.ActiveForm.pageframe1.page2.grid1.recordsourcetype=1
_SCREEN.ActiveForm.pageframe1.page2.grid1.recordsource='dinge_1'
_ole_excel.ActiveWorkbook.SAVEAS("temp.TXT",-4158)
STRTOFILE(STRTRAN(FILETOSTR("temp.TXT"),CHR(9),','),"temp1.TXT")
_ole_excel.quit
RELEASE _ole_excel
APPEND FROM temp1.TXT DELIMITED WITH charac ,
_SCREEN.ActiveForm.pageframe1.activepage=2
SET TALK OFF
SET SAFETY OFF
public mypath
mypath=""
mypath=getfile("xls")
if empty(mypath)
wait clear
return
endif
_ole_excel = CreateObject("Excel.Application")
_ole_excel.WorkBooks.Open(mypath) && 要打开的工作表名(xls)必须是全路径
_ole_excel.WorkSheets(1).Activate &&激活指定的工作簿
bookExcel = _ole_excel.APPLICATION.Workbooks.OPEN(mypath)
_ole_excel.ActiveWorkbook.saved = .T.
_ole_excel.DisplayAlerts = .F.
_ole_excel.ActiveWorkbook.SAVEAS(STRTOFILE(STRTRAN(FILETOSTR("temp.TXT"),CHR(9),','),"temp.TXT"),-4158)
_ole_excel.quit
RELEASE _ole_excel
if used('dinge')
select dinge
use
endif
USE dinge
delete all
pack
APPEND FROM G:\崔亚新\定额、指标与实际发生的比较\temp.TXT DELIMITED WITH charac ,
SELECT 材料编码,材料名称,规格型号,计量单位,sum(数量) as 数量,计划单价,sum(计划金额) as 计划金额,部门 FROM dinge group by 材料编码,材料名称,规格型号,部门 INTO CURS temp1