以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]选中的行导出  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77735)

--  作者:2
--  发布时间:2015/11/24 13:25:00
--  [求助]选中的行导出
我想把表中被选中的行导出,该怎么写代码呢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:选择行导出.rar


--  作者:大红袍
--  发布时间:2015/11/24 14:06:00
--  

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

Dim idx As Integer = 2
For Each r As Row In Tables("表A").GetCheckedRows
    For Each c As Col In Tables("表A").cols
        ws.cells(idx, c.Index+1).Value = r(c.name)
    Next
    idx += 1
Next

app.Visible = True


--  作者:y2287958
--  发布时间:2015/11/24 14:09:00
--  
http://www.foxtable.com/help/topics/0683.htm
设置好条件,用这个也是用以的。

--  作者:2
--  发布时间:2015/11/24 14:18:00
--  
谢谢上面两位老师
--  作者:2
--  发布时间:2015/11/24 15:00:00
--  
Dim idx As Integer = 1

Dim dt As Table = Tables("表A")
Dim nms() As String = {"第一列","第二列","第三列","第四列","第五列","第六列"} \'要导出的列名 
Dim caps() As String = {"第一列","第二列","第三列","第四列","第五列","第六列"} \'对应的列标题 
Dim szs() As Integer = {100,100,80,80,80,80} \'对应的列宽 
Dim Book As New XLS.Book \'定义一个Excel工作簿 
Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 

For c As Integer = 0 To nms.length -1 
    Sheet(0, c).Value = caps(c) \'指定列标题
    Sheet.Cols(c).Width = szs(c) \'指定列宽
    
Next

For Each r As Row In Tables("表A").GetCheckedRows
    For Each c As Col In Tables("表A").cols
        sheet(idx, c.Index).Value = r(c.name)
    Next
    idx += 1
Next

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then
    Book.Save(dlg.FileName)
    Dim Proc As New Process
    Proc.File = dlg.FileName
    Proc.Start()
End If
[此贴子已经被作者于2015/11/24 15:03:07编辑过]