VFP导出到EXCEL文件的另类方法

  • 格式:txt
  • 大小:2.39 KB
  • 文档页数:1
USE
OleApp=CREATEOBJECT("Excel.Application")
WITH OleApp
.DisplayAlerts=.F.
.Application.WorkBooks.Open(SYS(2023)+"\TMP.DBF")
edRange.Select
IF EMPTY(m.lsWJM)
RETURN
ENDIF
IF !FILE("模板文件.XLS")
=MessageBox("请先创建Excel模板文件!",64,"宇星工作室")
RETURN
ENDIF
USE 数据表
COPY TO SYS(2023)+"\TMP.DBF" FIELDS FieldList FOX2X &&选择所需要的字段
m.lsWJM=PUTFILE("文件名:","未命名.XLS","XLS")
IF EMPTY(m.lsWJM)
RETURN
ENDIF
USE 数据表
COPY TO SYS(2023)+"\TMP.DBF" FOX2X
USE
OleApp=CREATEOBJECT("Excel.Application")
.Rows(m.H).Select
.Selection.Delete
ELSE
.Selection.PasteSpecial()
.Selection.Columns.AutoFit
ENDIF
.Range("A1").Select
.Selection.Copy
.Application.WorkBooks.Open(SYS(5)+SYS(2003)+"\模板文件.XLS") && 模板文件需要路径
.Range("A1").Select
m.YXGZS=.Cells.Find("开始记录",.ActiveCell,-4123)
.ActiveWindow.Close
DELETE FILE SYS(2023)+"\TMP.*"
.ActiveWorkbook.SaveAs(m.lsWJM)
.Application.Visible=.T.
.DisplayAlerts=.T.
VFP导出到EXCEL文件的另类方法
VFP导出到excel文件的另类方法 论坛中在讨论vfp导出到EXCEL文件的方法,其中的方法以前都有试过,或多或少都有些不近人意的地方,比如字符形数字变成了数字,身份证号码居然是科学计数显示
几年来一直用这样的方法处理,请大家点评
LOCAL lsWJM,OleApp
IF VARTYPE(m.YXGZS)="O"
m.YXGZS.Activate
Release YXGZS
m.H=.ActiveCell.Row
.Selection.PasteSpecial(-4163,-4142,.F.,.F.) &&仅粘贴数值
WITH OleApp
.DisplayAlerts=.F.
.Application.WorkBooks.Open(SYS(2023)+"\TMP.DBF")
edRange.Select
.Selection.Copy
.Workbooks.Add
_CLIPTEXT=""
.Application.Windows("TMP.DBF").Activate
.ActiveWindow.Close
DELETE FILE SYS(2023)+"\TMP.*"
.ActiveWorkbook.SaveAs(m.lsWJM)
.Range("A1").Select
.Selection.PasteSpecial()
.Selection.Columns.AutoFit
.Range("A1").Select
_CLipTEXT=""
.Application.Windows("TMP.DBF").Activate
.Application.Visible=.T.
.DisplayAlerts=.T.
ENDWITH
RELEASE OleApp
OleApp = Null
END
OleApp = Null
如果你是固定的数据,可以将EXCEL文件做成模板,设置纸张大小、页边距、字体字号、标题、表头等,然后在需要导入数据的单元格中输入"开始记录"(不要输入引号)
LOCAL lsWJM,OleApp,YXGZS,H
m.lsWJM=PUTFILE("文件名:","未命名.XLS","XLS")

下载文档原格式

  / 1