如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 美文好词 > 优质好文 > pb,excel导入数据库

pb,excel导入数据库

来源:免费论文网 | 时间:2017-05-05 06:36 | 移动端:pb,excel导入数据库

篇一:将EXEL表导入到PB

PB--EXCEL文件导入DATAWINDOW:

-------------------------------------------

string str_savename,named,s_grxh

int excelok,li_net

long li_count,i

oleobject excelserver

excelserver=create oleobject

excelok=excelserver.connecttonewobject("excel.application")

//检查返回值,以确保已成功地连接到了Excel

if excelok 0 then

messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!") return -1

end if

li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")

if li_net > 0 then

if str_savename = "" then return -1

dw.settransobject(sqlca)

dw.reset()

excelserver.workbooks.open(str_savename)

excelserver.activesheet.cells.copy

li_count = dw.importclipboard(2) //导入数据

clipboard("")

excelserver.quit()

excelserver.disconnectobject()

destroy excelserver

return 1

else

messagebox('信息提示','没有指定导入文件!') return -1

end if

end if

----------------------------------------------------------------

然后把DATAWINDOW中数据插入数据库

篇二:pb从excel读数据

pb从excel读数据

实现通过PB来读取excel中某一行某一列的数据。

我在相关论坛上找到了一个例子,但其中的怎么申明,怎么调用还不太明白,例子如下: 读excel的代码: ole1.workbooks.open(ls_pathname,0,0) ole1.visible = true

//获取EXCEL单元格数据

ls_cell = ole1.workbooks[1].worksheets[1].cells(ll_rowno,ll_colno).value

各位可否通过一个实例进行说明呢? 谢谢了! NO.1 作者: Hanson_bati_zhu 试试看

这个是用PB自带的例子改的

integer result

OLEObject myoleobject

myoleobject = CREATE OLEObject

result = myoleobject.ConnectToObject("现有的EXCEL文件名")

IF result = 0 THEN

MessageBox(,String(myoleobject.application.workbooks(1).worksheets(1).cells(行号,列号).value))

END IF

myoleobject.DisconnectObject()

DESTROY myoleobject

NO.2 作者: xiaozhigood

上面的写的太仓促 你可以看这个就可以了

//从excel文件获得数据

//建立从EXCEL表获取数据的通道 OLEObject ole1 ole1= CREATE OLEObject result=ole1.ConnectTonewObject("Excel.application") if result<>0 then messagebox("提示!","连接Excel表出错,请重新选择") return end if

//操作员选择要导入数据的EXCEL文件

ll_rtn = getfileopenname(打开文件,ls_pathname,ls_filename,XLS,EXCEL文件(*.xls),*.xls)

if ll_rtn<>1 then

messagebox("提示!","连接Excel表出错,请重新选择") return end if ole1.workbooks.open(ls_pathname,0,0) ole1.visible = true ll_rowno=1 ‘列 ll_colno=1 ’行

do while ole1.workbooks[1].worksheets[1].cells(ll_rowno,1).value ‘判断是否有数据 do while ole1.workbooks[1].worksheets[1].cells(ll_rowno,ll_colno).value ‘取数据 ls_cell = string(ole1.workbooks[1].worksheets[1].cells(ll_rowno,ll_colno).value) s_cpxx[ll_rowno,ll_colno]=ls_cell ll_colno=ll_colno+1 loop ll_rowno=ll_rowno+1 loop ole1.visible = false ‘关闭 ole1.workbooks.close() ‘销毁 destroy ole1

篇三:PB操作Excel详解

run("notpad.exe")////pb 运行记事本

run("calc.exe") ////pb运行计算器

记住:当我们用PB导出数据到EXCEL时,不管是用Saveas 还是clipboard 它输出的数据是定义了字段类型的列的数据,也就是说,不管列是可见还是不可见,只要该列定义了列属性,在查询时主缓冲区中该列有数据,则就会导出出来~

用方法得到列名或其他属性也是一样的~及时隐藏了也可以得到

当中间的某列给隐藏时,下次打开后它会显示在末尾的位置,但是用Saveas输出数据时,不管它是否隐藏,是否改变了位置,它仍可输出数据而且位置还是不变的~

也就是说没有改变数据窗口对象的源,数据窗口对象上显示的列位置只会影响我们在程序界面上看到的位置,而不会影响它在后台存储的实际位置。

但是这样会改变界面显示的位置,记住,没有改变源

如何用PB程序在excel画表格边框线,如何改变文字大小

1.创建Excel对象

eole=CREATEOBJECT(′Excel.application′)

2.添加新工作簿

eole.Workbooks.add

3.设置第3个工作表为激活工作表

eole.Worksheets(″sheet3″).Activate

4.打开指定工作簿

eole.Workbooks.Open(″c:\temp\ll.xls″)

5.显示Excel窗口

eole.visible=.t.

6.更改Excel标题栏

eole.Caption=″VFP应用程序调用MicrosoftExcel″

7.给单元格赋值

eole.cells(1,4).value=XM(XM为数据库字段名)

8.设置指定列的宽度(单位:字符个数)

eole.ActiveSheet.Columns(1).ColumnWidth=5

9.设置指定行的高度(单位:磅)

eole.ActiveSheet.Rows(1).RowHeight=1/0.035

(设定行高为1厘米,1磅=0.035厘米)

10.在第18行之前插入分页符

eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1

11.在第4列之前删除分页符

eole.ActiveSheet.Columns(4).PageBreak=0

12.指定边框线宽度(Borders参数如下)

ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3

13.设置四个边框线条的类型

eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1

(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)

14.设置页眉

eole.ActiveSheet.PageSetup.CenterHeader=″报表1″

15.设置页脚 eole.ActiveSheet.PageSetup.CenterFooter=″第&P页″ 16.设置页眉到顶端边距为2厘米 eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 17.设置页脚到底边距为3厘米 eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 18.设置顶边距为2厘米 eole.ActiveSheet.PageSetup.TopMargin=2/0.035 19.设置底边距为4厘米 eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 20.设置左边距为2厘米 veole.ActiveSheet.PageSetup.LeftMargin=2/0.035 21.设置右边距为2厘米 eole.ActiveSheet.PageSetup.RightMargin=2/0.035 22.设置页面水平居中 eole.ActiveSheet.PageSetup.CenterHorizontally=.t. 23.设置页面垂直居中 eole.ActiveSheet.PageSetup.CenterVertically=.t. 24.设置页面纸张大小(1-窄行851139-宽行1411) eole.ActiveSheet.PageSetup.PaperSize=1 25.打印单元格网线 eole.ActiveSheet.PageSetup.PrintGridlines=.t. 26.拷贝整个工作表 eole.ActiveSheet.UsedRange.Copy 27.拷贝指定区域 eole.ActiveSheet.Range(″A1:E2″).Copy 28.粘贴 eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial 29.在第2行之前插入一行 eole.ActiveSheet.Rows(2).Insert 30.在第2列之前插入一列 eole.ActiveSheet.Columns(2).Insert 31.设置字体 eole.ActiveSheet.Cells(2,1).Font.Name=″黑体″ 32.设置字体大小 eole.ActiveSheet.Cells(1,1).Font.Size=25 33.设置字体为斜体 eole.ActiveSheet.Cells(1,1).Font.Italic=.t. 34.设置整列字体为粗体 eole.ActiveSheet.Columns(1).Font.Bold=.t. 35.清除单元格公式 eole.ActiveSheet.Cells(1,4).ClearContents 36.打印预览工作表 eole.ActiveSheet.PrintPreview

37.打印输出工作表

eole.ActiveSheet.PrintOut

38.工作表另为

eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)

39.放弃存盘

eole.ActiveWorkbook.saved=.t.

40.关闭工作簿

eole.Workbooks.close

41.退出Excel

eole.quit

先把标题放到剪贴板上,再PASTE()到EXCEL中,代码如下:

::clipboard(ls_value)

ao_object.range(ls_col+string(1)+":"+ls_col+string(1)).select() ao_object.activesheet.Paste()

/*************************************************************

下面的函数f_excel_hb,可以实现“将工作簿filename_s中的工作表sheetname_s以新的工作表名称sheetname_t,复制到工作簿filename_t的最后” 1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27. public function boolean f_excel_hb (string filename_s, string filename_t, string sheetname_s, string sheetname_t);//==========================================================// 合并两个工作簿中的某个工作表 //==========================================================// 作者:yyoinge 2011-10-12 18:00//==========================================================// 将工作簿filename_s中的工作表sheetname_s以新的// 工作表名称sheetname_t,复制到工作簿filename_t的最后//==========================================================if not fileexists(filename_s) then messagebox('','工作簿【' + filename_s + '】(源)不存在') return falseend ifif not fileexists(filename_t) then messagebox('','工作簿【' + filename_t + '】(目标)不存在') return falseend iflong ll_val//声明ole对象oleobject ole_object_s//创建ole对象ole_object_s=create oleobject//连接到excelll_val = ole_object_s.connecttonewobject("excel.application")if ll_val <> 0 then messagebox('','ole无法连接Excel!') goto error

28.

29.

30.

31.

32.

33.

34.

35.

36.

37.

38.

39.

40.

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

51.

52.

53.

54.

55.

56.

57.

58.

59.

60.

61.

62.

63.

64.

65.

66.

67.

68. end if//打开源和目标工作簿ole_object_s.workbooks.open(filename_s)ole_object_s.workbooks.open(filename_t)string ls_tls_t = filename_tfilename_s = of_splitpath(filename_s, 2)filename_t = of_splitpath(filename_t, 2)//隐藏excelole_object_s.visible = falseole_object_s.displayalerts = falseint n,tint liboolean isexists=falseoleobject lworksheet//判断源工作簿中的工作表是否存在try lworksheet = ole_object_s.Workbooks(filename_s).sheets(sheetname_s) isexists = truecatch( oleruntimeerrorer) isexists = falseend try if isexists=false then messagebox('','工作簿【' + filename_s + '】中工作表不存在工作表[' + sheetname_s + ']') goto errorend if//当目标工作簿中存在sheet名为sheetname_t的工作表时,为sheetname_t增加后缀(1),然后再重复进行判断,直到表名不存在isexists = truedo while isexists try lworksheet = ole_object_s.Workbooks(filename_t).sheets(sheetname_t) isexists = true sheetname_t += '(1)' catch( oleruntimeerrorer1)isexists = false end try loop//进行工作表合并(移到目标工作簿的最后)//int lisetnull(li)ole_object_s.workbooks(filename_s).Sheets(sheetname_s).copy(li, ole_object_s.workbooks(filename_t).Sheets(long(ole_ob

ject_s.workbooks(filename_t).Sheets.count)))

69.

70. //重命名工作表ole_object_s.workbooks(filename_t).sheets(long(ole_object_s.workbooks(filename_t).Sheets.count)).name = sheetname_t

71.

72.

73.

74.

75.

76.

77.

78.

79.

80.

81.

82.

83.

84.

85.

86.

87.

88.

89.

90.

91.

92.

93.

94.

95.

96.

97.

98.

99. //保存目标工作簿isexists = true//ole_object_s.visible = true//ole_object_s.displayalerts = true//messagebox('', '')try ole_object_s.workbooks(filename_t).save()catch( oleruntimeerrorer2) messagebox('提示', '无法保存工作簿【' + filename_t + '】') isexists = falseend tryif not isexists then goto error//关闭工作簿ole_object_s.workbooks(filename_s).closeole_object_s.workbooks(filename_t).close//退出excelole_object_s.workbooks.closeole_object_s.Application.quit();//断开连接ole_object_s.disconnectobject();//注销ole对象destroy ole_object_s;return trueerror:ole_object_s.workbooks(filename_s).closeole_object_s.workbooks(filename_t).closeole_object_s.workbooks.closeole_object_s.Application.quit();ole_object_s.disconnectobject();100. destroy ole_object_s;

101. return false

102.

103.

104. end function


pb,excel导入数据库》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/meiwen/32187.html
转载请保留,谢谢!
相关文章