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

时间:2022-10-10 05:22:14 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

VFP导出到excel文件的另类方法 论坛中在讨论vfp导出到EXCEL文件的方法,其中的方法以前都有试过,或多或少都有些不近人意的地方,比如字符形数字变成了数字,身份证号码居然是科学计数显示

几年来一直用这样的方法处理,请大家点评

LOCAL lsWJM,OleApp

m.lsWJM=PUTFILE("文件名:","未命名.XLS","XLS")

IF EMPTY(m.lsWJM)

RETURN

ENDIF

USE 数据表

COPY TO SYS(2023)+"\TMP.DBF" FOX2X

USE

OleApp=CREATEOBJECT("Excel.Application")

WITH OleApp

.DisplayAlerts=.F.

.Application.WorkBooks.Open(SYS(2023)+"\TMP.DBF")

.ActiveSheet.UsedRange.Select

.Selection.Copy

.Workbooks.Add

.Range("A1").Select

.Selection.PasteSpecial()

.Selection.Columns.AutoFit

.Range("A1").Select

_CLipTEXT=""

.Application.Windows("TMP.DBF").Activate

.ActiveWindow.Close

DELETE FILE SYS(2023)+"\TMP.*"

.ActiveWorkbook.SaveAs(m.lsWJM)

.Application.Visible=.T.

.DisplayAlerts=.T.

ENDWITH

RELEASE OleApp

OleApp = Null

如果你是固定的数据,可以将EXCEL文件做成模板,设置纸张大小、页边距、字体字号、标题、表头等,然后在需要导入数据的单元格中输入"开始记录"(不要输入引号)

LOCAL lsWJM,OleApp,YXGZS,H

m.lsWJM=PUTFILE("文件名:","未命名.XLS","XLS")

IF EMPTY(m.lsWJM)

RETURN

ENDIF

IF !FILE("模板文件.XLS")

=MessageBox("请先创建Excel模板文件!",64,"宇星工作室")

RETURN

ENDIF

USE 数据表

COPY TO SYS(2023)+"\TMP.DBF" FIELDS FieldList FOX2X &&选择所需要的字段

USE

OleApp=CREATEOBJECT("Excel.Application")

WITH OleApp

.DisplayAlerts=.F.

.Application.WorkBooks.Open(SYS(2023)+"\TMP.DBF")

.ActiveSheet.UsedRange.Select

.Selection.Copy

.Application.WorkBooks.Open(SYS(5)+SYS(2003)+"\模板文件.XLS") && 模板文件需要路径

.Range("A1").Select

m.YXGZS=.Cells.Find("开始记录",.ActiveCell,-4123)

IF VARTYPE(m.YXGZS)="O"

m.YXGZS.Activate

Release YXGZS

m.H=.ActiveCell.Row

.Selection.PasteSpecial(-4163,-4142,.F.,.F.) &&仅粘贴数值

.Rows(m.H).Select

.Selection.Delete

ELSE

.Selection.PasteSpecial()

.Selection.Columns.AutoFit

ENDIF

.Range("A1").Select

_CLIPTEXT=""

.Application.Windows("TMP.DBF").Activate

.ActiveWindow.Close

DELETE FILE SYS(2023)+"\TMP.*"

.ActiveWorkbook.SaveAs(m.lsWJM)

.Application.Visible=.T.

.DisplayAlerts=.T.

ENDWITH

RELEASE OleApp

OleApp = Null

本文来源:https://www.wddqw.com/doc/1f1b019d998fcc22bcd10db5.html