社区
VFP
帖子详情
请问如何将TEXT字段类型的内容导出显示在EXCEL里?
fionazou
2012-02-06 01:50:53
在数据工作期里看到的内容是MEMO,导出在EXCEL里这个字段就不见了,请问有什么办法吗?
...全文
315
10
打赏
收藏
请问如何将TEXT字段类型的内容导出显示在EXCEL里?
在数据工作期里看到的内容是MEMO,导出在EXCEL里这个字段就不见了,请问有什么办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lygcw9602
2012-02-07
打赏
举报
回复
[Quote=引用楼主 fionazou 的回复:]
在数据工作期里看到的内容是MEMO,导出在EXCEL里这个字段就不见了,请问有什么办法吗?
[/Quote]
为了这个问题,我查阅了有关资料,要想解决这个问题,单纯的一条命令是不够的,要通过代码编程的方法,逐条记录导出到EXCEL中,这样就能看到备注字段的内容了。这种方法经过验证是可行的。具体代码如下(转载):
CLOSE DATABASES ALL
SET DATE YMD
SET CENTURY ON
cDbfFile = GETFILE("dbf")
IF EMPTY(cDbfFile)
RETURN
ENDIF
USE (cDbfFile) ALIAS FoxTable IN 0
IF NOT USED("FoxTable")
=MESSAGEBOX("打开表失败,程序将中止!", 16, "Error")
RETURN
ENDIF
cExcelFile = PUTFILE("保存为(&N):",JUSTSTEM(cDbfFile)+".xls","xls")
IF EMPTY(cExcelFile)
CLOSE DATABASES ALL
RETURN
ENDIF
SELECT FoxTable
oExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel对象
IF NOT TYPE("oExcelSheet") = "O"
=MESSAGEBOX("Excel对象创建失败,程序将中止!", 16, "Error")
RETURN
ENDIF
oExcelApp = oExcelSheet.Application
oExcelApp.Workbooks.Add()
oExcelApp.ActiveWindow.WindowState=2
oSheet = oExcelApp.ActiveSheet
nFldCount = AFIELDS(aFldList, "FoxTable")
FOR i = 1 TO nFldCount
oSheet.Cells(1,i).Value = aFldList[i, 1]
ENDFOR
cRecc = STR(RECCOUNT("FoxTable"))
SCAN
WAIT WINDOW ALLTRIM(STR(RECNO())) + "/" + cRecc NOWAIT
FOR i = 1 TO nFldCount
vValue = .NULL.
IF AT(aFldList[i, 2], "CDLMNFIBYT") = 0
LOOP
ENDIF
cFldName = aFldList[i, 1]
vValue = EVALUATE(cFldName)
DO CASE
CASE aFldList[i, 2] = "C" && 字符/字符串
vValue = TRIM(vValue)
CASE aFldList[i, 2] = "D" && 日期
vValue = DTOC(vValue)
CASE aFldList[i, 2] = "T" && 日期时间
vValue = TTOC(vValue)
CASE INLIST(aFldList[i, 2], "N", "F", "I", "B", "Y") && 数值
CASE aFldList[i, 2] = "L" && 逻辑
CASE aFldList[i, 2] = "M" && 备注型
OTHERWISE
vValue = .NULL.
ENDCASE
IF VARTYPE(vValue) = "C" AND EMPTY(vValue)
LOOP
ENDIF
IF NOT ISNULL(vValue)
oSheet.Cells(RECNO("FoxTable")+1, i).Value = vValue
ENDIF
ENDFOR
ENDSCAN
cChrStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR i = 1 TO nFldCount
cColumn = SUBSTR(cChrStr, INT((i-1)/26), 1) + SUBSTR(cChrStr, IIF(MOD(i, 26)= 0, 26, MOD(i, 26)) , 1)
oSheet.Columns(cColumn + ":" + cColumn).ColumnWidth = 12
IF aFldList[i, 2] = "M"
oSheet.Columns(cColumn + ":" + cColumn).WrapText = .F.
ENDIF
ENDFOR
oExcelApp.ActiveWorkbook.SaveAs(cExcelFile)
oExcelApp.ActiveWorkbook.Close(.F.)
oExcelApp.ActiveWorkbook.Close(.F.)
oExcelApp.Quit
oExcelSheet = .NULL.
oExcelApp = .NULL.
WAIT CLEAR
=MESSAGEBOX("转换完毕!", 64, "OK")
CLOSE DATABASES ALL
这段代码根据自己的需要,可以修改。
lygcw9602
2012-02-06
打赏
举报
回复
是在当前表复制的吗
fionazou
2012-02-06
打赏
举报
回复
[Quote=引用 7 楼 lygcw9602 的回复:]
你的代码怎么写的
[/Quote]
COPY TO 结果.xls XL5 memo col
lygcw9602
2012-02-06
打赏
举报
回复
你的代码怎么写的
fionazou
2012-02-06
打赏
举报
回复
[Quote=引用 5 楼 lygcw9602 的回复:]
如果导出全部备注字段内容,请加范围语句,ALL
该命令是FOXPRO2.5 中经常使用的命令
use aa
COPY TO cc.xls XL5 memo bb
[/Quote]
按照您说的,结果导出了一张空白的EXCEL.
lygcw9602
2012-02-06
打赏
举报
回复
如果导出全部备注字段内容,请加范围语句,ALL
该命令是FOXPRO2.5 中经常使用的命令
use aa
COPY TO cc.xls XL5 memo bb
lygcw9602
2012-02-06
打赏
举报
回复
use aa
COPY TO cc.xls XL5 memo bb
fionazou
2012-02-06
打赏
举报
回复
十豆三老师,你有办法吗?
lygcw9602
2012-02-06
打赏
举报
回复
文本文件有格式吗
lc_apple
2012-02-06
打赏
举报
回复
不知道有啥好的办法
我一般是把memo中的内容转换成字符串(长度超过254,就得多弄几个字段了),然后再导出
假如表aa的memo字段字段名为bb
select left(bb,100) as bbb from aa
copy to cc.xls xl5
从
EXCEL
中导入数据到SQL SERVER2012数据库中因
TEXT
字段
或文件编码格式的出错处理办法
本文针对将
Excel
数据导入SQL Server 2012时因
TEXT
字段
类型
不兼容及编码识别异常导致的乱码、插入失败等问题,提出分两步导入法:先由
Excel
自动创建临时表(含$后缀),再手动调整其
字段
类型
与目标表一致,最后通过表间导入完成数据迁移。该方案规避了直接映射
TEXT
字段
引发的转换错误和BOM/UTF编码解析问题,适用于SSMS及Navicat等工具。
上传
EXCEL
和
text
到SAP内表 ,SAP内表
导出
EXCEL
本文介绍如何使用SAP系统进行
Excel
文件的导入与
导出
操作。具体包括定义内表结构、通过函数
TEXT
_CONVERT_XLS_TO_SAP导入数据、利用SAP_CONVERT_TO_XLS_FORMAT
导出
数据等
内容
,并提供了解决数据格式问题的方法。
Excel
数据清洗避坑指南:Kettle
字段
类型
转换的5个常见错误及解决方法
本文聚焦
Excel
数据接入Kettle过程中的
字段
类型
转换难题,系统解析日期格式误识别、数字/文本混淆、空值处理异常、科学计数法误判、字符编码乱码等5类高频错误,提出涵盖预处理、
类型
显式声明、格式校验与异常拦截的全流程解决方案,强调数据质量管理中
类型
安全与容错机制的设计实践。
navicat导入
excel
日期格式处理
在初始化数据库数据时,遇到
Excel
日期格式导入到MySQL的问题,导致Navicat闪退。通过将数据库
字段
类型
改为varchar,使用
TEXT
函数转换
Excel
中的日期格式,并在导入后改回datetime
类型
,成功解决了问题。
VFP
2,749
社区成员
29,142
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章