注册 登录
编程论坛 VB6论坛

text文本框中输出的结果如何导入到excle中

VB新手上路 发布于 2011-04-06 19:35, 1899 次点击
如何将TEXT文本框中(一个或多个文本框)输出的结果导入到excle中。。。


谢谢高手给予指教。。。




18 回复
#2
风吹过b2011-04-06 21:12
你百度一下 VB 操作 EXCLE  就可以了。

这样的例子,多的太多了。
#3
VB新手上路2011-04-07 20:28
回复 2楼 风吹过b
我找了好多,都没找到我想要的答案。。
小弟新手,忘得到你的帮助,谢谢。
#4
Artless2011-04-07 23:07
只有本站会员才能查看附件,请 登录
#5
坚强坚持2011-04-09 12:05
Private Sub ExportToExcel(sql As String, conStr As String) '输出电子表的函数
On Error GoTo EXPORT_ERR
    Dim rs As Object
    Dim xlApp       As Object
    Dim xlBook      As Object
    Dim xlSheet     As Object
    Dim xlQuery     As Object
    Set rs = CreateObject("Adodb.Recordset")
    rs.CursorLocation = adUseClient
    rs.Open sql, conStr
    If rs.RecordCount < 1 Then
        MsgBox ("没有记录!"), vbExclamation
        Exit Sub
    End If
    Dim rowCount     As Integer
    Dim colCount     As Integer

    rowCount = rs.RecordCount '记录总数
    colCount = rs.Fields.Count '字段总数
   
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = Nothing
    Set xlSheet = Nothing
    Set xlBook = xlApp.Workbooks().Add
    Set xlSheet = xlBook.Worksheets("sheet1")
      
    '添加查询语句,导入EXCEL数据
    Set xlQuery = xlSheet.QueryTables.Add(rs, xlSheet.Range("a1"))
      
    With xlQuery
            .FieldNames = True
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = True
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
    End With
    xlQuery.Refresh
    xlApp.Application.Visible = True
    Set xlApp = Nothing           '"交还控制给Excel
    Set xlBook = Nothing
    Set xlSheet = Nothing
    Set rs = Nothing
    Exit Sub
EXPORT_ERR:
    MsgBox Err.Source & vbCrLf & vbCrLf & _
           Err.description, vbExclamation, "信息"
End Sub


给你一个高手的输出电子表格代码
使用方法
     sql = SSQL 'SSQL为原先查询的语句
      conStr = "provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\数据库.mdb"
    Call ExportToExcel(sql, conStr) '调用函数

只要引用正确就可使用,速度相当快


#6
VB新手上路2011-04-09 20:48
坚强坚持,谢谢你给予的帮助。

由于我是新手加菜鸟,希望你能说的详细些。

谢谢。

Private Sub ExportToExcel 这个是在什么的控件下写的。。

我是不是vb。6.0中缺少些啊。。。
#7
坚强坚持2011-04-09 22:41
Private Sub ExportToExcel   不是什么控件
这仅仅是一个过程的名称
你可以任意的写成
Private Sub abc(aaaa As String, bbbb As String)
严格来说,这个一个实现一个功能的函数
这个函数有参数,参数aaaa 和  bbbb 定义为一段字符
当你给予参数赋值后,可以引用这个函数,从而实现这个函数的功能
就如给予一定条件后,这个函数功能套餐依条件实现功能
最后得说清楚,写法改变,下面的代码当然相应对应替换掉的是不是

[ 本帖最后由 坚强坚持 于 2011-4-9 22:42 编辑 ]
#8
VB新手上路2011-04-10 16:18
非常感谢你给予的帮助,非常感谢。

恳请你收我为你的学生。

像你所说的那样,我可不可以建立以个按钮,然后再按钮下写代码。

当我点击按钮的时候,会自动将text文本中输出的结果导入到excle中呢。。。
#9
VB新手上路2011-04-10 16:49
Public myexcel As New Excel.Application
Public mybook As New Excel.Workbook
Public mysheet As New Excel.Worksheet
'以上在模板中定义或者在窗口中定义也可以
Private Sub Command1_Click()
  Set myexcel = CreateObject("Excel.Application")  '首先连接EXCEL
  Set mybook = myexcel.Workbooks.Add
  Set mysheet = mybook.Worksheets(1)
   mysheet.Cells(1, 1) = text1.text
   mysheet.Cells(1, 2) = text2.text
   mysheet.Cells(1, 3) = "text3.text
    Set myexcel = Nothing
End Sub



上面那个是我在百度中找出来 的。。可是不能运行,一运行就提示:子程序或函数中的属性无效。。。

帮我看看,谢谢。。。
#10
坚强坚持2011-04-10 23:32
Public myexcel As New Excel.Application
Public mybook As New Excel.Workbook
Public mysheet As New Excel.Worksheet
'以上在模板中定义或者在窗口中定义也可以:是的,但在不同的地方定义,就决定了在什么地方能使用
Private Sub Command1_Click()
  Set myexcel = CreateObject("Excel.Application")  '首先连接EXCEL
  Set mybook = myexcel.Workbooks.Add
  Set mysheet = mybook.Worksheets(1)
   mysheet.Cells(1, 1) = Text1.Text
   mysheet.Cells(1, 2) = Text2.Text
   mysheet.Cells(1, 3) = Text3.Text
   myexcel.Application.Visible = True'这个是显示电子表格的,比如,你并不想显示只是调用打印那么可以不写
   
End Sub
''=NOthing  一般是要用了,相当于清空内存
在我这运行正确,提示未定义说明没引用



下面是一个调用原有电子表打印示例

Private Sub 表_Click()

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(App.Path & "\主数据\表.xls") '打开已经存在的EXCEL工件簿文件
''xlApp.Visible = True '设置EXCEL对象可见(或不可见
xlApp.ActiveSheet.PrintOut '打印这个电子表
xlApp.Quit
    Set xlApp = Nothing           '"交还控制给Excel
    Set xlBook = Nothing
    Set xlSheet = Nothing
End Sub




[ 本帖最后由 坚强坚持 于 2011-4-10 23:36 编辑 ]
#11
VB新手上路2011-04-11 18:55
我运行还是不OK啊,还是那毛病。。

急,急,急啊。。
#12
VB新手上路2011-04-11 18:57
只有本站会员才能查看附件,请 登录

   text文本输出的结果            导入excle中的与其是相对应的
我最后要的是这样的效果。。。
#13
坚强坚持2011-04-11 20:03
引用  Excel 11.0
定位赋值
不明白出什么问题了
好像是定位没问题
是赋值出问题是不是
这个就难了,不明白,为什么非要在一个文本框放入1\2\23.........
如果一定要这样
就得找规律了
根据规律提取
比如:先定义数组
dim aaaa() As String  
用TRIM 去掉空格
用MID位置提取
另如是是有规律的空格
可据空格定位提取


[ 本帖最后由 坚强坚持 于 2011-4-11 20:05 编辑 ]
#14
VB新手上路2011-04-11 20:11
Private Sub Command1_Click()
Open App.Path & "\data.xls" For Append As #1
   Print #1, Text1.Text
   Close #1

这样的程序能否改成我需要的那样的输出结果
帮看看,谢谢。
#15
坚强坚持2011-04-11 20:36
Private Sub Command1_Click()
Open App.Path & "\data.xls" For Append As #1

   Print #1, Text1.Text; vbTab; Text2.Text '不喜欢坚来,那横来

    Close #1

End Sub
#16
VB新手上路2011-04-11 20:42
Open App.Path & "\data.xls" For Append As #1
   Print #1,
   Print #1, Text1.Text; vbCrLf; Text2.Text; vbCrLf; Text3.Text; vbCrLf; Text4.Text; vbCrLf; Text5.Text
   Close #1

关键就是要它竖着来么
我刚在里面加了换行
可输出的结果还是不换行么
还是在同一列中依次的出来了
我加个换行是为了能区别是哪个文本输出的
我在想想别的办法,你在帮我想想,看能 不能够有更好的答案。
谢谢这几天给我的帮助,小弟谢过了
#17
坚强坚持2011-04-11 20:58
没有什么做不出来的,估计是没明白你的意思,你把文件发上来看看
#18
VB新手上路2011-04-11 21:05
我要输出的结果就跟我上面那图一样的效果就可以了

现在又有个新的问题了

我上面那个代码,新建一个vb,把程序放进去就可以,但放在我写的程序里面点击按钮没反应。

我text文本框的结果是通过计算得出的,不是输入的
#19
e3bnsd2012-12-02 22:35
学习了。
1