zoukankan      html  css  js  c++  java
  • PB操作Excel 網摘

    如我要读取EXCEL文件中的第10第10列到第100   行100列中各单元格中的值,
    要怎么写的呢,有没有朋友写过啊,很急啊,请各位多多指教,谢谢!


    这个问题第1个回答: 收費教會你在PB中使用excel的所有功能


    这个问题第2个回答: 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).font.name=’黑体’//设置字体
    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—双细实线 ④赋值操作
    Ole_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])”
    ls_filename   =   "C:\alt_report\wf_alt_report.xls " if   FileExists(ls_filename)   then   FileDelete(ls_filename)   OleObject   Loo_Excel Loo_Excel=create   oleobject if   Loo_Excel.ConnectToNewObject( "Excel.Application ")   <>   0   then         messagebox( '提示 ', '系統未安裝Excel,無法運行此操作! ')
    return end   if   Loo_Excel.Application.Workbooks.Add()
    Loo_Excel.Application.Workbooks(1).worksheets(1)
    Loo_Excel.Application.Visible   =   True
    Loo_Excel.Application.ScreenUpdating   =   false  
    // '正在處理表頭...... ' Loo_Excel.Range( "A1:AB1 ").Select Loo_Excel.Selection.MergeCells     =   True

    Loo_Excel.Selection.HorizontalAlignment   =   3
    Loo_Excel.Selection.VerticalAlignment   =   3
    Loo_Excel.Selection.Font.Bold   =   True

    Loo_Excel.Selection.Font.Size   =   14

    Loo_Excel.Selection.RowHeight   =   28.50
    Loo_Excel.ActiveCell.FormulaR1C1   =   dw_3.describe( "ls_title "+ ".text ")
    ///写标头 Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   1   ).value   =   "排單號碼 "  

    //   dw_2.describe( "po_no "+ ".name "+ "_t.text ")  

    Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   2   ).value   =   "客人款號 "

    Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   3   ).value   =     dw_2.describe( "cust_nam_t.text ")     ///内容

    for   i=1   to   dw_2.rowcount()        

        Loo_Excel.application.workbooks(1).worksheets(1).cells(3+i,   1).value   =     string(   dw_2.object.po_no[i]   )

    next
    Loo_Excel.application.ActiveWorkbook.SaveAs(ls_filename)
    Loo_Excel.Application.ScreenUpdating   =   True
    Loo_Excel.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函数来确定 对应的值。


    这个问题第3个回答: 采用热连接的方式


    这个问题第4个回答:

    String path_name,file_name
    
    If GetFileOpenName( "选择导入的文件... ",path_name, file_name, "XLS ", "Excel Files(*.XLS),*.XLS ") = 1 Then
    Else
        Return
    End If
    
    If FileExists(path_name) Then
    Else
        Return
    End If
    
    Long i,ll_row,i_return
    oleobject   xlapp,xlsub
    
    xlapp = Create oleobject
    i_return = xlapp.ConnectToNewObject( "Excel.Application ")
    If i_return <> 0 Then
        MessageBox( "错误! ", "无法启动excel程序! ")
        Return
    End If
    
    xlapp.Application.workbooks.Open(path_name)
    xlsub = xlapp.Application.activeworkbook.worksheets[2]
    Do While Len(String(xlsub.cells(i,9).Value)) > 0
        goods_code = Trim(String(xlsub.cells(i,9).Value))
        goods_num = Double(xlsub.cells(i,5).Value)
        goods_price = Double(xlsub.cells(i,6).Value)
        goods_sum_value = Round(Double(xlsub.cells(i,7).Value),2)
        goods_name = Trim(String(xlsub.cells(i,1).Value))
        
        i = i + 1
    Loop
    
    xlapp.displayalerts = False
    xlapp.workbooks.CLOSE
    xlapp.displayalerts = True
    xlapp.DisconnectObject()
    Destroy xlapp


    这个问题第5个回答: chenro(大地雄心)   (   )   信誉:100         Blog       加为好友     2007-6-5   11:57:48     得分:   0              
    收費教會你在PB中使用excel的所有功能
          ---------------------------bs

  • 相关阅读:
    B.Icebound and Sequence
    Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS
    Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
    Educational Codeforces Round 65 (Rated for Div. 2) B. Lost Numbers
    Educational Codeforces Round 65 (Rated for Div. 2) A. Telephone Number
    Codeforces Round #561 (Div. 2) C. A Tale of Two Lands
    Codeforces Round #561 (Div. 2) B. All the Vowels Please
    Codeforces Round #561 (Div. 2) A. Silent Classroom
    HDU-2119-Matrix(最大匹配)
    读书的感想!
  • 原文地址:https://www.cnblogs.com/Footprints/p/3059012.html
Copyright © 2011-2022 走看看