计算机之家
图片广告


 
第五行者 (第五行者)
超级版主
Rank: 11Rank: 11Rank: 11Rank: 11


版主荣耀  
UID 14969
精华 0
积分 48
帖子 296
威望 48
现金 127 币币
存款 10 币币
阅读权限 11
注册 2007-3-17
状态 离线
 
发表于 2008-3-24 23:23  资料  个人空间  短消息  加为好友  QQ           
怎样把excel转成vfp

我需要把一个excel的文件转成vfp的数据库表

需要按照指定的vfp格式来转换

谁会啊

快教教我

有急用!!!



网上搜索到的办法都不行。。。


帖子2天有效

2天后我就得交上去了

[ 本帖最后由 奥运2008年 于 2008-3-28 10:04 编辑 ]





顶部
Schuyler
初级会员
Rank: 3Rank: 3


UID 457
精华 0
积分 97
帖子 297
威望 97
现金 262 币币
存款 198 币币
阅读权限 3
注册 2006-3-24
状态 离线
 
发表于 2008-3-25 10:58  资料  个人空间  短消息  加为好友 
我不懂,网上找到的
[转载]参考一下:
如果要传数据到Excel,可以用OLE2.0,用它实现非常简单。OLE Automatic让你可以直接控制整个Excel应用,在Excel中可以做的,在PB中都可做到。

  下面是一些主要步骤:

  首先,建立一个与Excel通讯的Object。实现如下:

OLEObject ExcelServer
integer ExcelOK

ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )

...(应该检查返回值,以确保已成功地连接到了Excel)

  现在,就可以使用(OLEObject) ExcelServer来直接访问Excel对象(包括所有的Property和Mothod),注意在'ExcelServer.'后面接的是Excel的内部对象。如果你需要一个property或method,但不知它的名字,可以查看Excel VBA帮助文件。

  下面是一些例子:

ExcelServer.Workbooks.Open("FullFileName")
ExcelServer.ActiveWorkBook.Sheets("SheetName").Select
ExcelServer.ActiveSheet.Range("FiscalYear").value = "My value"
ExcelServer.ActiveSheet.Cells(1,1).value = 7.23
ExcelServer.Application.Run("MacroName")
ExcelServer.Application.Visible = TRUE
ExcelServer.DisconnectObject()

  也可以从Excel提取信息,假设你想知道当前活动Sheet的A1单元(Cell)的值,你可以使用如下代码:

ANY MyValue

MyValue = ExcelServer.ActiveSheet.Cells(1,1).value

CHOOSE CASE ClassName(MyValue)

CASE 'string'
//assign to string

//other data types here
......
END CASE

  注意ANY变量的用法。返回的Excel对象的method/property可能是各种各样的数据类型,所以除非你绝对确定返回类型(例如一个Cell对象的ColumnWidth属性一般都返回的是integer变量),你一般都要使用ANY变量,然后再用ClassName函数来确定对应的值。

顶部
Schuyler
初级会员
Rank: 3Rank: 3


UID 457
精华 0
积分 97
帖子 297
威望 97
现金 262 币币
存款 198 币币
阅读权限 3
注册 2006-3-24
状态 离线
 
发表于 2008-3-25 10:58  资料  个人空间  短消息  加为好友 
PB中如何实现对EXCEL的操作?


问:本人以曾是用VFP 编程的,曾编过VFP&EXCLE的应用如:
Myexcel=createobject('EXCEL.APPLICATION')
MYEXCEL.VISIBLE=.f.
MYEXCEL.WORKBOOKS.ADD
O1=MYEXCEL.ACTIVEWORKBOOK.SHEETS(1)
O1.NAME='IN'
o1.CELLS(1,2).VALUE='abc'

又如:
excel=createobject('excel.application')
EXCEL.VISIBLE=.T.
ExcelFile="D:\MYDOCU~1\DC1999\DC_MDT.XLS"
if not file(ExcelFile)
wait wind 'no file:'+excelfile
return
endif
excel.workbooks.open(ExcelFile)


请问如何用PB实现象上述VFP 的应用,好让我能将资料放到一个电子表格


答:差不多,给个代码:
方法一:
OLEObject ExcelServer
integer ExcelOK
ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )
ExcelServer.Workbooks.Open("c:\book.xls")
ExcelServer.ActiveWorkBook.Sheets("Sheet2").Select
ExcelServer.ActiveSheet.Cells(1,1).value = "书名"
ExcelServer.Application.Visible = TRUE
方法二:先启动excel文件
long handle_1
handle_1 ="Excel", "c:\book.xls")
//建立与EXCEL的通道
setremote("r1c1","书号","excel"," c:\book.xls")
setremote("r1c2","书名","excel"," c:\book.xls")
//更改某一行或某一列的值,同时关闭通道
closechannel(handle_1,handle(parent))

////////////////////////////////
POWERBUILDER与EXCEL的巧妙结合

POWERBUILDER是面向对象的数据库开发工具之一,它可以操纵众多大型数据库和桌面数据库,支持多种硬件平台。但它有一个致命的弱点,就是打印报表非常不方便,打印函数太少,特别是对中国式报表。而EXCEL制表却非常容易,若把两者结合起来使用则会取长补短。本人通过实践,顺利地把两者结合起来。
  首先用POWERBUILDER制作一窗口w_excel,然后在窗口中建立一个数据窗口dw_excel和三个按钮cb_saveas、cb_start、cb_print。同时编写脚本为:
  1.cb_saveas的脚本为:
  saveas(w_excel.dw_excel,″c:\jycf\ xmk.xls″,excel!,true)
  2.cb_start的脚本为:
  run(″c:\program files\microsoft office\office\excel.exe xmk.xls″,maximized!)
  3.cb_print的脚本为:
  long handle_1
  handle_1=openchannel(″excel″,″xmk.xls″) ′建立与EXCEL的通道
  setremote(″r2c1″,″序号″,″excel″,″xmk.xls″)
  setremote(″r2c2″,″摘要″,″excel″,″xmk.xls″)
  setremote(″r2c3″,″收入″,″excel″,″xmk.xls″)
  setremote(″r2c4″,″支出″,″excel″,″xmk.xls″)
  setremote(″r2c5″,″余额″,″excel″,″xmk.xls″)
  setremote(″r2c6″,″日期″,″excel″,″xmk.xls″)
  ′更改某一行或某一列的值,同时关闭通道
  closechannel(handle_1,handle(w_excel))
  string str_print
  str_print=″[print()]″
  execremote(str_print,″excel″,″xmk.xls″)
  这样一来,就把两者有机地结合起来。

顶部
第五行者 (第五行者)
超级版主
Rank: 11Rank: 11Rank: 11Rank: 11


版主荣耀  
UID 14969
精华 0
积分 48
帖子 296
威望 48
现金 127 币币
存款 10 币币
阅读权限 11
注册 2007-3-17
状态 离线
 
发表于 2008-3-25 19:28  资料  个人空间  短消息  加为好友  QQ
楼上的大哥

我不是要自己编程整

能导进去就行了。。。。

我已经摸索出来了。。。。

谢谢楼上的兄弟~~~





顶部
zyqttj_1234
中级会员
Rank: 4



UID 30035
精华 0
积分 152
帖子 540
威望 152
现金 286 币币
存款 709 币币
阅读权限 4
注册 2007-6-6
来自 安徽
状态 离线
 
发表于 2008-3-27 16:33  资料  个人空间  短消息  加为好友  QQ
我日,另存为DBF格式不就行,还那么麻烦,





尊重他人,就是尊重自己  随风飘
顶部
mcboy (独孤铭)
版主
Rank: 10Rank: 10Rank: 10


版主荣耀  
UID 28393
精华 0
积分 159
帖子 347
威望 159
现金 35 币币
存款 2547 币币
阅读权限 10
注册 2007-5-27
来自 麻城
状态 离线
 
发表于 2008-3-27 18:43  资料  个人空间  短消息  加为好友  QQ
眼花了





愛個秂爲甚麽這樣莘楛珴對妳昰卟湜呔恠泘難菿妳早巳忄又葰屬爲哬掵運偏偏註顁讓誐箛獨!愛過ㄋ鈊賥叻
妳鈀~
顶部
 

 
 
当前时区 GMT+8, 现在时间是 2008-12-2 03:11