标题:关于libxl 读取excel 的vfp的方法
只看楼主
plsword
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:24
注 册:2015-10-19
得分:0 
以下是引用sostemp在2022-3-28 09:47:15的发言:

有版权的,在程序中Key一下就行了,否则生成的EXCEL文件有提示试用的一条显示的Created by LibXL trial version. Please buy the LibXL full version for removing this message.

能告知一下怎么在程序中key一下吗
2022-03-31 12:28
aqyejun
Rank: 3Rank: 3
等 级:论坛游民
威 望:9
帖 子:121
专家分:99
注 册:2010-6-11
得分:0 
谢谢分享

【独叶为舟】工作室
2022-03-31 14:38
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
以下是引用schtg在2022-3-27 07:22:06的发言:

我在ID大师那学习到了一点点儿,仅供参考哈
LoadLIBXL()

Book = xlCreateBookCA()
sheet = xlBookAddSheetA(Book, [stu] ,0)
* 写
xlSheetWriteStrA(sheet,1,1,[姓名],0)
xlSheetWriteStrA(sheet,1,2,[年龄],0)

xlSheetWriteStrA(sheet,2,1,[张三],0)
xlSheetWriteStrA(sheet,3,1,[李四],0)

xlSheetWriteNumA(sheet,2,2,22,0)
xlSheetWriteNumA(sheet,3,2,23,0)
* 读
? xlSheetReadStrA(sheet, 1 , 1 , 0)
? xlSheetReadNumA(sheet, 2 , 2 , 0)
* 存   
xlBookSaveA(BOOK,[测试.xls])
* 放
xlBookReleaseA(BOOK)



***
***
PROC LoadLIBXL

    DECLARE LONG    xlCreateBookCA         in libxl.dll
    DECLARE LONG    xlCreateXMLBookCA      in libxl.dll
                                                   
    DECLARE INTEGER xlBookLoadA            in libxl.dll LONG handle , STRING filename
    DECLARE INTEGER xlBookSaveA            in libxl.dll LONG handle , STRING filename
                                                   
    DECLARE LONG    xlBookAddSheetA        in libxl.dll LONG handle , STRING name , LONG initSheet

    DECLARE         xlBookReleaseA         in libxl.dll LONG handle
                                                   
    DECLARE STRING  xlSheetReadStrA        in libxl.dll LONG handle , INTEGER row , INTEGER col , LONG @format
    DECLARE INTEGER xlSheetWriteStrA       in libxl.dll LONG handle , INTEGER row , INTEGER col , STRING value , LONG format
                                                   
    DECLARE DOUBLE  xlSheetReadNumA        in libxl.dll LONG handle , INTEGER row , INTEGER col , LONG @format
    DECLARE INTEGER xlSheetWriteNumA       in libxl.dll LONG handle , INTEGER row , INTEGER col , DOUBLE value , LONG format

请问:如何输出为xlsx格式的表?
2022-03-31 15:45
nbwww
Rank: 6Rank: 6
等 级:贵宾
威 望:10
帖 子:222
专家分:468
注 册:2021-1-9
得分:0 
xlBookSaveA(BOOK,[测试.xls])      &&这个就是另存为
* 下面的为释放
xlBookReleaseA(BOOK)
2022-03-31 21:50
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 13楼 laowan001
可用 xlCreateXMLBookCA 直接创建 xlsx 文档的哈
2022-04-01 06:23
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
以下是引用schtg在2022-4-1 06:23:13的发言:

 可用 xlCreateXMLBookCA 直接创建 xlsx 文档的哈

我用下面的代码另存为测试.xlsx,执行正常,但打开EXCEL表时报告说格式不对,是我哪里写的不对了
注:测试.xls导出的表就可以正常打开,但是低版本
程序代码:
LoadLIBXL()

Book = xlCreateBookCA()
sheet = xlBookAddSheetA(Book, [stu] ,0)
* 写
xlSheetWriteStrA(sheet,1,1,[姓名],0)
xlSheetWriteStrA(sheet,1,2,[年龄],0)

xlSheetWriteStrA(sheet,2,1,[张三],0)
xlSheetWriteStrA(sheet,3,1,[李四],0)

xlSheetWriteNumA(sheet,2,2,22,0)
xlSheetWriteNumA(sheet,3,2,23,0)
* 读
? xlSheetReadStrA(sheet, 1 , 1 , 0)
? xlSheetReadNumA(sheet, 2 , 2 , 0)
* 存    
xlBookSaveA(BOOK,[测试.xlsx])
* 放
xlBookReleaseA(BOOK)


[此贴子已经被作者于2022-4-1 07:57编辑过]

2022-04-01 07:54
antony521
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:161
注 册:2009-8-20
得分:0 
回复 16楼 laowan001
再仔细看看15楼
2022-04-01 09:42
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
以下是引用antony521在2022-4-1 09:42:21的发言:

再仔细看看15楼

不好意思,是我马虎了,谢谢啦
2022-04-01 09:59
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
foxpro有自己的解析excel文件的类啊,oexcel=createOBJECT("excel.application"),搞那么复杂干嘛。
2022-04-05 15:02
antony521
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:161
注 册:2009-8-20
得分:0 
回复 19楼 sam_jiang
这个离不开excel.exe.
2022-04-05 17:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508670-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.870293 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved