搜档网
当前位置:搜档网 › pb 和excel 如何连接

pb 和excel 如何连接

pb 和excel 如何连接
pb 和excel 如何连接

pb 和excel 如何连接两种方法

OLE

//连接Excel

ole_excel= CREATE OLEObject

IF ole_excel.ConnectTonewObject("Excel.application") <> 0 Then MessageBox("","连接Excel失败!")

END IF

ole_excel.workbooks.open(ls_filepath,0,FALSE)

Li_CountRows = ole_excel.ActiveCell.CurrentRegion.Rows.Count

Li_CountColumns= ole_excel.ActiveCell.CurrentRegion.Columns.Count

dw_excel.reset()

ole_excel.visible = FALSE

// 获取EXCEL单元格数据

FOR Li_Row = 3 to Li_CountRows

Ll_NewRow = dw_excel.insertrow(0)

FOR Li_column = 1 to Li_CountColumns

ls_cell = Ole_excel.Workbooks[1].Worksheets[1].Cells(Li_Row,Li_column).Value IF ISNULL(Ls_Cell) Then Ls_Cell = ''

//插入数窗

IF Ll_NewRow > 0 Then

dw_excel.Setitem(Ll_NewRow,Li_column,ls_cell)

END IF

END FOR

END FOR

//断开连接

ole_excel.Quit()

ole_excel.DisConnectObject()

Destroy Ole_excel

还可以用DDE

string s_regiondata[3]

handle = OpenChannel("Excel", "REGION.XLS", &

Handle(w_ddewin))

GetRemote("R1C2", s_regiondata[1], handle, &

Handle(w_ddewin))

GetRemote("R1C3", s_regiondata[2], handle, &

Handle(w_ddewin))

GetRemote("R1C4", s_regiondata[3], handle, &

Handle(w_ddewin))

CloseChannel(handle, Handle(w_ddewin))

方法2

long numcols , numrows , c, r

OLEObject xlapp , xlsub

int ret

//定义变量

numcols = long(dw_product.Object.DataWindow.Column.Count)

//设置行号和列号

numrows = dw_product.RowCount()

//获得行数

xlApp = Create OLEObject

//创建OLE对象

ret = xlApp.ConnectToNewObject( "Excel.Sheet" )

if ret < 0 then

MessageBox("连接Excel程序失败!",string(ret))

return

end if

//连接Excel,并检验返回值

xlApp.Application.Workbooks.Open("E:\PB9\第八篇使用高级控件\实例81\useOLE.xls") //打开一个特定的Excel文件

xlApp.Application.Visible = true

//使该Excel文件可视

xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]

//确定第一个工作簿

For c = 1 to numcols

For r = 1 to numrows

xlsub.cells[r,c] = dw_product.object.data[r,c]

Next

Next

//循环发送数据

xlApp.DisConnectObject()

Destroy xlapp

//断开连接

PB操作Excel文件

PB调用EXCEL的操作不失为一种好的报表输出方式 2009-05-15 23:17 928人阅读评论(0) 收藏举报对于较为中国化的报表,虽然后dw这个坚强后盾,但是也难不住繁复疲劳的应对。 不过我们可以知道,数据的输出,都是居于table的栏位或者计算字段。只是很多统计的模式和展现模式不同。 我在一年前作完一个系统,可是客户几乎隔三差五有新的东东要输出报表。终于我发现。让客户先在excel里弄好,然后再写程序来输出也是一个不错的方法。关键是,客户给的东西不必要再进自己的系统,所以数据不会发生什么问题。如果本身软件有任何问题,那能从excel里的写的结果很容易看得出来。虽然写excel表格要花很多时间,但是减少了输入导入和输出的一些麻烦。 转载excel操作大全: powerbuilder操作excel命令大全(例子的有些地方不对!) 2006-12-04 16:43 1.创建Excel对象 eole=CREATEOBJEC T(′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应用程序调用Microsoft Excel″ 7.给单元格赋值 eole.cells(1,4).value=XM(XM为数据库字段名)

excel学习笔记

By8305樊斌老师 ERP(标准化业务) Excel(非标准化业务):个性化事情流程标准化 基于会计解决问题的角度,工作能力。 数据是C公司上半年销售情况统计,本案例要求综合运用所学知识分别从产品销售情况和员工销售业绩两个维度对销售数据进行整理和评估分析。 1、销售数据整理与分析 (1)利用超级透视表的合并查询功能(或者是用pp中建模后再关联)进行关联,填充销售明细表 (2)制作透视表分析销售数据 2、销售业绩数据整理与分析 (1)对员工销售业绩汇总和排名 (2)利用countifs和排名函数填写按月统计表 (3)利用透视表对部门销售情况进行分析 (4)利用透视表特殊功能发奖金(备注:计算字段和计算项、色阶、以中间人为标杆、切片器、表格和透视表动态联动) (5)查询销售人员的情况(有效性设置与建模辅助工具的运用) 3、财务分析工具的运用 (1)运用模拟预测表进行销售预测分析 (2)运用规划求解销售数量 创新点: (1)将公司的销售数据从人力和物力(即产品)两个角度充分挖掘数据信息。 (2)穿插超级透视表,灵活运用函数功能 (3)加入各种细小的高级功能,比如查询系统、按钮、有效性设置等 (4)实现财务分析工具的综合运用,有一定难度 第二节课 电子报表产品 地址:两个案例。 2、折旧法: 直线法=SLN(原值,残值,使用期限) 年数总和法=SYD(原值,残值,使用期限,第几期) 双倍余额递减法=VDB(原值,残值,使用期限,起始期,截止期,折旧因子,转直开关0) 3、复利终值系数表 三维地址高效编汇总表:shift 四维地址:跨表 第三节课(透视表) 对数据清单进行多维统计分析 财务会计向管理会计(非财务)转型:财务指标是滞后的。项目决策的话语权。 数据、工具运用、idea

pb与excel之间导入导出处理

pb与excel之间导入导出处理 gf_save_excel_to_txt(as_excel_filename string,as_text_filename string) //把文件名为as_excel_filename的Excel文件另存为文件名为as_text_filename 的Text文件 //返回:另存是否成功 //删除Text文件 If DeleteFile(as_text_filename) Then //删除存在的Text文件成功 OLEObject l_ole l_ole = Create OLEObject; If l_ole.ConnectToNewObject("Excel.Application") = 0 Then //连接到Excel l_ole.Application.DisplayAlerts = False //关闭警告消息对话框,防止退出Excel时提示 l_ole.Application.Workbooks.Open(as_excel_filename) //打开Excel文件 l_ole.Application.ActiveWorkbook.SaveAs(as_text_filename,-4158) //把打开的Excel文件另存为 Text文件,第二参数表示数据以制表符TAB分隔 l_ole.Application.Quit() //退出Excel Else Messagebox(\'错误\',\'无法建立与Excel的连接!\',StopSign!) Destroy l_ole Return False End If Destroy l_ole Return True Else //无法删除Text文件 Return False End If 保存excel文件: 要想选择目录可以这样 string ls_docname, ls_named //文件路径,文件名 integer li_rt li_rt = GetFileSaveName("选择保存路径并输入保存文件名" + string(jj), ls_docname, ls_named, & "Excel", & "Excel Files (*.XLS),*.XLS," + &

PB对excel的操作

Pb中对Excel文件的应用 Oleobject ole_object//建立OLE对象 ole_object=create oleobject//创建对象 integer li_ret li_ret=ole_object.connecttoobject( " ", "Excel.Application ")//建立连接 if li_ret <> 0 then //如果Excel还没有打开,则新建。 li_ret=ole_object.ConnectToNewObject( "Excel.Application ") if li_ret <> 0then messagebox( "OLE错误", "OLE无法连接!错误号:"+string(li_ret)) return end if ole_object.Visible=true end if pointer oldpointer//设置鼠标 oldpointer=setpointer(HourGlass!) ole_object.Workbooks.Add//新建工作薄 ole_object.Application.DisplayAlerts=False//关闭警告消息对话框,防止提示 ole_object.Application.Workbooks.Open(as_exccccccccccccccccccccccccccccccccccel_filename)/ /打开Excel文件 //ole_object.Application.ActiveWorkbook.SaveAs(as_text_filename,-4158)//把打开的Excel文件另存为 //Text文件,第二参数表示数据以制表符TAB分隔 ole_object.Application.Quit()//退出Excel ole_object.activeworkbook.saved=true//放弃存盘 ole_object.workbooks.close//关闭工作簿 ole_object.Cells(1,1).Value=reptitle ole_object.Range( 'A1 ').Select ole_object.Selection.Font.Size=24 ole_object.selection.HorizontalAlignment=3//水平对齐方式: ole_object.Range( 'A1: '+f_columname(ll_colnum)+ '1 ').Select ole_object.Range( 'A1: '+f_columname(ll_colnum)+ '1 ').Merge ole_object.Columns(i).ColumnWidth=ld_width ole_object.Columns(i).HorizontalAlignment=3 ole_object.Columns(i).Borders.LineStyle=1 ole_object.Columns(i).Font.Bold=True ole_object.cells(i,j).NumberFormat= "@ " ole_object.cells(i,j).Font.Bold=false ole_object.cells(i,j).value=ls_value OLE_https://www.sodocs.net/doc/7f5107783.html,edRange.Rows.Count Sheets.Add 基本操作: Ole_object.Workbooks.add//新建一个Excel文件 Ole_object.Workbooks.Open( "FileName ")//打开一个已存在Excel文件

PB中操作Excel的技巧集

PB中操作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=True 6.更改Excel标题栏 eole.Caption=″VFP应用程序调用Microsoft Excel″ 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行之前插入分页符 e ole.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厘米

PB从EXCEL中导入数据窗口的函数

PB从EXCEL中导入数据窗口的函数 //***************************************************************// // 函数名称: GF_EXCEL_TO_DATAWINDOW // 函数功能: EXCEL文件导入 DATAWINDOW // 参数类型: DWTAWINDOW // 参数名称: DW // RETURN : 1 SUCCEED -1 ERROR // DATE : 2004 3.1 //***************************************************************// 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) //导入数据 //dw.importfile(str_savename)//直接导入 clipboard("") excelserver.quit() excelserver.disconnectobject() destroy excelserver return 1 else messagebox('信息提示','没有指定导入文件!') return -1 end if

PB 调用VC 创建的DLL 在MIS 中的设计与实现

PB调用VC创建的DLL在MIS中的设计与实现 DLL Founded by the call of PB to VC and its design and Implementation in MIS (1.北京理工大学;2.军械工程学院)陈建泗1,2 商建云1 Chen JianSi Shan JianYun 摘 要:在管理信息系统(MIS)的开发中,常常需要用到OLE技术实现Exce l报表,PowerBuilder 虽然功能强大,但它的OLE控件功能相对较差,而VC具有强大的开发报表功能。以院校教学保障管理中实际应用的教材库存管理信息系统为实例,设计PowerBuilder与VC之间DLL调用接口和Excel报表实现流程,采用VC开发一个实现Excel报表的DLL库,然后通过PowerBuilde r 调用DL L中的函数,实现Excel报表功能。实现了构件的复用,提高了软件开发效率。 关键字:动态链接库;OLE;MIS;PB;VC 中国分类号:TP393 文献标识码:A Abstract:In developing of MIS,usually need to use OLE Technology to realize Excel Statements, PowerBuilder is powerful,but its OLE ActiveX Control function is weak,Excel statement function is powerful in VC.The paper designs the called interface between PowerBuilder and VC, and designs the realizing process in Excel Statements base on MIS of Textbook Stock.,and develops a DLL that has the function to realize Excel Statements,the function of DLL is called by PowerBuilder to realize Excel Statements, realizing component reuse and improving efficiency in the development of software. Key words: DLL;OLE;MIS;PowerBuilder;VC++ 1引言 PowerBuilder是一种面向C/S方式的数据库应用程序的开发工具。PB拥有数据窗口、嵌入式SQL语句等技术,在开发数据库应用程序时显得特别方便。但在涉及到系统底层的一些功能时,PB本身提供的功能就有些不尽如人意。因为Windows操作系统提供给用户的接口是C语言函数形式,而VC在调用系统底层功能方面,从编程角度来讲就要方便得多。VC还有许多PB所不具备的优点,比如数据结构表达能力强,实现复杂算法的程序相对容易开发,运行速度快等。此外,不少外围设备的驱动程序提供的也是C接口。若能将这两种语言结合起来使用,充分发挥它们各自的优点,将会大大提高开发效率、增强应用程序的功能。在管理信息系统的开发中,以VC++作为开发动态链接库DLL的工具,在动态链接库中采用OLE技术,实现Excel 报表,然后再通过PB调用动态链接库, 实现PowerBuilder与VC++的集成,从而实现软件的复用,大大提高系统的开发和运行效率。本文以在院校教学保障管理中实际应用的教材库存管理信息系统为例进行介绍。 2MIS开发中导出Excel的设计 管理信息系统常常需要将查询所得的结果导出到Excel中,便于数据的记录和分发。在生成Excel报表时,教材库存管理信息系统采用了Office组件来实现此功能,以动态链接库DLL的形式完成此项功能。定义好接口关系,只需把要导出的数据以参数形式传给DLL,DLL调用指定的模版完成数据的载入,通过文件流的方式来实现生成Excel文件,并保存到指定的路径。因为VC具有强大的开发报表的功能,系统通过VC开发DLL,然后在PowerBuilder中调用此DLL 实现Excel报表功能。 定义的函数名称和接口如下: 动态链接库文件名称:ExcelDLL; 函数名称:ListToExl(CList *plist,int iFlag);

pb导出excel(直接导出)

基本操作: Ole_object.Workbooks.add//新建一个Excel文件 Ole_object.Workbooks.Open("FileName")//打开一个已存在Excel文件 Ole_object.ActiveWorkBook.Sheets("SheetName").Select//选择文件中一个工作表 Ole_object.Application.Run("MacroName")//运行宏 Ole_object.Application.Visible=TRUE//Excel文件可见 Ole_object.Application.ScreenUpdating=true//设置可见属性 ②格式设置 Ole_object.ActiveSheet.Columns("A:U").AutoFit//列宽自动调整 Ole_object.ActiveSheet.Columns("A:Z").ColumnWidth=6.75//列宽 Ole_object.ActiveSheet.Rows("1:100").RowHeight=12//行高 Ole_object.Application.StandardFont="ArialNarrow";//设置字体 Ole_object.Application.StandardFontSize="8"//设置字号 Ole_object.ActiveSheet.Font.Size="8"//设置字号 Ole_object.ActiveSheet.Font.Bold=True//粗体 Ole_object.ActiveSheet.Font.Italic=True//斜体 Ole_object.ActiveSheet.Font.Underline=True//下划线 Ole_object.ActiveSheet.Font.StrikeThrough=True//删除线 Ole_object.ActiveSheet.HorizontalAlignment=3//水平:4靠右;3居中;2靠左 Ole_object.ActiveSheet.VerticalAlignment=2//垂直:3靠下;2居中;1靠上 Ole_object.ActiveSheet.cells(2,1)https://www.sodocs.net/doc/7f5107783.html,=’黑体’//设置字体 Ole_object.ActiveSheet.cells(2,1).font.size=25//设置字体大小 ③工作区域操作: Ole_object.ActiveSheet.Range("A1:Z10").Property=value//设置一个工作区域内的属性值 Ole_object.ActiveSheet.Range("A1:Z10").Merge//合并单元格 Ole_object.ActiveSheet.Range("A1:Z10").WrapText=False//自动换行禁止 Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).Weight=i_val//b_type:1左边界;2右边界;3上边界;4下边界;5左上倾斜;6右上倾斜(以上为对单元格的操作)7左边界;8上边界;9下边界;10右边界;11内部垂直边界;12内部水平边界(以上为对区域的操作)//i_val:0无边界线;然后1,2,3。。。依次边界线加粗 Ole_object.ActiveSheet.Range("A1:Z10").Borders(b_type).linestyle=1//1与7—细实、2—细虚、4—点虚、9—双细实线 ④赋值操作 O le_object.ActiveSheet.range("A1:Z10").Cells.value=“姓名” Ole_object.ActiveSheet.range("A1:Z10").Cells.value=1 Ole_object.ActiveSheet.range("A1:Z10").Cells.value=“2003-01-01” Ole_object.ActiveSheet.Range("A1:Z10").Cells(1,2).value=“年龄”//区域内一个单元格的赋值Ole_object.ActiveSheet.Range("A1:Z1").Cells(1,1).value=“SUM(RC[-9]:RC[-1])” 方法2 OleObject Loo_Excel Loo_Excel=create oleobject if Loo_Excel.ConnectToNewObject("Excel.Application") <> 0 then messagebox('提示','系統未安裝Excel,無法運行此操作!')

将excel数据导入到PB.txt

// Description:两种方法进行 //1、通过数组一行一行读入(定义数据有点麻烦) //2、通过剪贴板直接 //==================================================================== String ls_path,ls_name ls_path = "C:\Documents and Settings\Administrator.FLYSTONE\桌面\新建文件夹(3)\test.xls" dw_1.Reset() //clean DW String a[1000,1000] Integer i,j,li_ret li_ret = GetFileopenName('选择XLS',ls_path,ls_name,"XLS","EXCEL (*.XLS),*.XLS") if li_ret <> 1 then return OLEObject ExcelServer Int li_ConnectErr ExcelServer = Create OLEObject li_ConnectErr = ExcelServer.ConnectToNewObject( "excel.application" ) If li_ConnectErr < 0 Then Choose Case li_ConnectErr Case -1 MessageBox('错误提示','无效的调用') Case -2 MessageBox('错误提示','类名没发现') Case -3 MessageBox('错误提示','对象不能创建') Case -4 MessageBox('错误提示','文件不能连接') Case -5 MessageBox('错误提示','不能连接现在的对象') Case -6 MessageBox('错误提示','文件无效') Case -7 MessageBox("错误提示","文件不存在或已经打开") Case -8 MessageBox("错误提示","服务器不能装载选择的文件") Case -9 MessageBox("错误提示","其他错误") End Choose Return End If ExcelServer.Workbooks.Open(ls_path,0,False) //对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告:剪贴板提示信息。

将PB数据窗口中的数据导出到EXCEL文件

PB】将PB数据窗口中的数据导出到EXCEL文件 我设计中只用过两种方法。 第一种: 导出到默认的路径(代码中固定好的)。核心代码是: long dwcontrol.SaveAsAscii(string filename,[string separatorcharacter(可选项,以该种格式来分隔数据,如果省略则默认为tab,)],) 实例如下: if dw_1.saveasascii("C:\缺陷查询结果.xls"," ","")=1 then messagebox("提示信息","数据导出成功!! 文件路径为C:\缺陷查询结果.xls!") else messagebox("提示信息","数据导出失败!") end if 第二种:这种方法要事先在指定路径建立起要导出的EXCEL文件。下面代码是打开该文件并保存进去。 long numcols,numrows,c,r OLEObject xlapp,xlsub int ret //定义变量 numcols=long(dw_1.Object.DataWindow.Column.Count) //设置行号和列号 numrows=dw_1.RowCount() //获得行数 xlApp=Create OLEObject //创建OLE对象

ret=xlApp.ConnectToNewObject("Excel.Sheet") if ret<0 then messagebox("连接Excel程序失败!",string(ret)) return end if //连接Excel,并检验返回值 xlApp.Application.Workbooks.Open("C:\缺陷查询结果.xls") //打开一个特定的Excel文件 xlApp.Application.Visible=true //使该Excel文件可视 xlsub=xlApp.Application.ActiveWorkbook.Worksheets[1] //确定第一个工作薄 for c=1 to numcols for r=1 to numrows xlsub.cells[r,c]=dw_1.object.data[r,c] next next //循环发送数据 xlApp.DisConnectObject() Destroy xlApp

PB导出导入EXCEL

dw_1.saveas('c:\a.xls',excel!,true) 最后参数为FALSE ,不保存表头 保存到指定文件 string str_savename,named int excelok,li_net oleobject excelserver excelserver=create oleobject excelok=excelserver.connecttonewobject("excel.application") //检查返回值,以确保已成功地连接到了Excel if excelok <> 0 then messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!") return end if 可以没有 if GetFilesaveName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls") = 1 then dw_main.saveas(str_savename,excel!,true) else messagebox("","保存失败") end if 打开指定文件 string str_savename,named int excelok,li_net oleobject excelserver excelserver=create oleobject excelok=excelserver.connecttonewobject("excel.application") //检查返回值,以确保已成功地连接到了Excel if excelok <> 0 then messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!") return end if li_net = GetFileopenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls") if li_net > 0 then if str_savename = "" then return excelserver.workbooks.open(str_savename) excelserver.activesheet.cells.copy dw_main.importclipboard(2) //导入数据dw_1是数据窗口名字,改成你的名字clipboard("") excelserver.quit() excelserver.disconnectobject() destroy excelserver end if

pb 和excel 如何连接

pb 和excel 如何连接两种方法 OLE //连接Excel ole_excel= CREATE OLEObject IF ole_excel.ConnectTonewObject("Excel.application") <> 0 Then MessageBox("","连接Excel失败!") END IF ole_excel.workbooks.open(ls_filepath,0,FALSE) Li_CountRows = ole_excel.ActiveCell.CurrentRegion.Rows.Count Li_CountColumns= ole_excel.ActiveCell.CurrentRegion.Columns.Count dw_excel.reset() ole_excel.visible = FALSE // 获取EXCEL单元格数据 FOR Li_Row = 3 to Li_CountRows Ll_NewRow = dw_excel.insertrow(0) FOR Li_column = 1 to Li_CountColumns ls_cell = Ole_excel.Workbooks[1].Worksheets[1].Cells(Li_Row,Li_column).Value IF ISNULL(Ls_Cell) Then Ls_Cell = '' //插入数窗 IF Ll_NewRow > 0 Then dw_excel.Setitem(Ll_NewRow,Li_column,ls_cell) END IF END FOR END FOR //断开连接 ole_excel.Quit() ole_excel.DisConnectObject() Destroy Ole_excel 还可以用DDE string s_regiondata[3] handle = OpenChannel("Excel", "REGION.XLS", & Handle(w_ddewin)) GetRemote("R1C2", s_regiondata[1], handle, & Handle(w_ddewin)) GetRemote("R1C3", s_regiondata[2], handle, & Handle(w_ddewin)) GetRemote("R1C4", s_regiondata[3], handle, & Handle(w_ddewin)) CloseChannel(handle, Handle(w_ddewin))

如何用PB程序在excel画表格边框线

如何用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应用程序调用Microsoft Excel″ 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.

pb,word,表格

竭诚为您提供优质文档/双击可除 pb,word,表格 篇一:pb数据窗口导出word、excel文档 dw2word,dw2xls pb数据窗口数据导出到word,excel,excel可以自定义修改excel文档的列宽对齐方式,字体样式等 //dwsave2word调用ole globaltypegf_exportdata2wordfromfunction_object endtype forwardprototypes globalsubroutinegf_exportdata2word(datawindowad_dat awindow)endprototypes globalsubroutinegf_exportdata2word(datawindowad_dat awindow);stringls_filepath ls_filepath=gf_getfilesavename() oleobjectoleobjectword oleobjectword=createoleobject

//连接word ifoleobjectword.connecttonewobject("word.applicatio n")0thenmessagebox("提示","ole连接错误!") return endif oleobjectword.visible=false//word文档在操作数据过程中是否可见longcol_colnum,col_rownum constantlongwdtablebehavior=1 constantlongwdautoFitFixed=0 constantlongwdcell=12 stringstr_value //得到数据窗口数据的列数和行数(行数应该是数据行数+1) col_colnum=long(ad_datawindow.object.datawindow.col umn.count)col_rownum=ad_datawindow.rowcount()+1 //先在word文档中画好表格 setpointer(hourglass!) oleobjectword.documents.add oleobjectword.activedocument.tables.add(oleobjectwo

怎样在PB中实出,将EXCEL数据表,导入到SQL SERVER 数据库中

怎样在PB中实出,将EXCEL数据表,导入到SQL SERVER 数据库中 本人在做的人事管理系统中,因分公司所报数据为EXCEL 表,其中包括保险,工资等等项目,PB的数据管道只能在数据库之间导入导出,能不能在SQL SERVER中通过存储过程,生成一个编绎过的文件,通过EXCETUE SP_******,将EXCEL表,保存到SQLSERVER 数据库中;或通过本地包,用 SQL SERVER 数据转换服务生成本地包*.DTS 文件,然后用 DTSRUN /S SERVER /U USER /P PASSWORD /N *.DTS 导入到SQL SERVER 数据库中。问题点数:100、回复次数:18Top 1 楼xingxing(xingxing)回复于2002-08-19 15:29:37 得分0 用odbc Top 2 楼wiler(@_@)回复于2002-08-19 15:42:36 得分0 PB的数据窗口不是可以导入EXCEL格式的数据吗 Top 3 楼TianChong(*︿_︿* ○Ооo○泡泡oо㊣VC高手群:2997669)回复于2002-08-19 16:13:29 得分15在PB里通过importfile()将EXCEL的数据IMPORT到DW中,直接DW_1.UPDATE() string null_str SetNull(null_str) dw_1.ImportFile(null_str)//这时会打开一个对话框让你选择文件. //如果不要选择文件,要自动完成,则:dw_1.ImportFile("path\filename") 这种方法好像只对文本文件有效,如果是这样的话,你可以先将EXCEL文件SAVE AS *.TXT文件.或者用DDE让PB动态获取EXCEL的数据... 取得数据后,dw_1.update() //OK.Top 4 楼balloonman2002()回复于2002-08-19 23:51:4 5 得分0 1、DW的IMPORTFILE()导进来EXCEL文件; 2、将数据UPDATE到数据库当中; 3、结束,:)Top 5 楼balloonman2002()回复于2002-08-19 23:53:21 得分0 详见PB帮助:IMPORTFILE(),:)Top

将PB数据窗口数据导出到EXCEL模版

将PB数据窗品导出到EXCEL模版 一、建立通信 OLEObject ExcelServer Integer li_excelOK,li_rc String ls_path, ls_file,ls_model ExcelServer = CREATE OLEObject li_ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" ) 二、输入新文件名 li_rc = GetFileSaveName ( "输入新的文件名", & ls_path, ls_file, "XLS", & "XLS Files (*.XLS),*.XLS" , "C:\My Documents", & 32770) 三、判断文件是否存在 If FileExists (ls_path ) Then FileDelete(ls_path) END IF 四、检查给定的文件路径是否可以写入 li_rc=FileOpen(ls_path,StreamMode!,Write!,LockWrite!,Replace!) FileClose(li_rc) filedelete(ls_path) 五、获到模版文件 if FileExists (ls_model ) then li_rc = FileCopy (ls_model , ls_path, true) if li_rc = 1 then ExcelServer.Workbooks.Open(ls_path) else ExcelServer.workbooks.add ExcelServer.Workbooks(1).SaveAs(ls_path) ExcelServer.Workbooks.Open(ls_path) end if end if 六、写入数据窗品数据 ExcelServer.application.Sheets(“sheet1”).Select ExcelServer.ActiveSheet.Cells(2,1).value = '制单编号' 七、保存EXCEL数据 //关闭警告消息对话框,防止退出Excel 时提示 ExcelServer.Application.DisplayAlerts = False //保存数据 ExcelServer.Application.SaveWorkspace() if f_messagebox('','已成功导出到EXCEL,是否要打开该文件:',2) = 1 then ExcelServer.Application.Visible = true else ExcelServer.Application.Visible = false ExcelServer.quit() end if ExcelServer.disconnectobject() destroy excelserver

相关主题