Foxtable(狐表)用户栏目专家坐堂 → 求助,如何导出表结构的代码


  共有19378人关注过本帖树形打印复制链接

主题:求助,如何导出表结构的代码

帅哥哟,离线,有人找我吗?
lihe60
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/1/14 12:31:00 [显示全部帖子]

Dim Rg As MSExcel.Range
Rg = Ws.Range("A1:K1")
Rg.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)
Dim Rg1 As MSExcel.Range
Rg1 = Ws.Range("A1:K1")    '设置标题的范围
Rg1.Merge         '合并 
Rg1.Value ="导入"   '设置标题

 

 

如果表的宽度是随机的,如何设置合并单元格的数量刚好和表格的列数一样?


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/1/14 12:45:00 [显示全部帖子]

就是如何通过数字表示从哪个单元格到哪个单元格?


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/1/15 8:14:00 [显示全部帖子]

 贴出我的代码,很好用,有兴趣的朋友,可以试一试。

 

Dim flg As New SaveExcelFlags
'flg.RowNumber = True
flg.CellStyle = True
Dim t As Table=Tables("" & e.form.name & "_table1")
'获取可见列的列数
Dim n As Integer=0
For Each c As col In t.cols
    If c.visible=True
        n=n+1
    End If
Next
n=math.min(n,t.cols.count)
t.SaveExcel("E:\表A.Xls","表A",flg)

Dim App As New MSExcel.Application
App.Visible = True
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("E:\表A.Xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range
For Each c As col In t.cols
    If c.Isnumeric AndAlso c.caption<>"年" AndAlso c.caption<>"月" AndAlso c.caption<>"日"
        Ws.Range(Ws.Cells(1,c.Index+1), Ws.Cells(100,c.Index+1)).NumberFormat = "#,##0.00" '会计专用
    End If
Next
'设置标题
Rg = Ws.Range("1:1")
Rg.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)
Dim Rg1 As MSExcel.Range
Rg1 = Ws.Range(Ws.Cells(1,1), Ws.Cells(1,n))   '设置标题的范围
App.DisplayAlerts = False
Rg1.Merge         '合并
Rg1.Value =e.Form.controls("表名称").text   '设置标题
rg1.HorizontalAlignment = MSExcel.Constants.xlCenter '水平居中
With Rg1.Font
    .Name = "黑体" '字体
    .Size = 20 '字号
    .Bold = True   '加粗
    .Italic = True '斜体
    '  .ColorIndex = 3 '颜色            '标题设置字体等
End With
Rg1.EntireColumn.AutoFit   '自动调整列宽
Rg1.EntireRow.AutoFit
Rg1 .WrapText =True '引用单个单元格
'设置日期
Rg = Ws.Range("2:2")
Rg.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)
'Dim Rg1 As MSExcel.Range
Rg1 = Ws.Range(Ws.Cells(2,1), Ws.Cells(2,n))   '设置标题的范围
App.DisplayAlerts = False
Rg1.Merge         '合并
Rg1.Value =e.Form.controls("日期").text   '设置标题
rg1.HorizontalAlignment = MSExcel.Constants.xlCenter '水平居中
With Rg1.Font
    .Name = "黑体" '字体
    .Size = 12 '字号
    '.Bold = True   '加粗
    '.Italic = True '斜体
    ' .ColorIndex = 3 '颜色            '标题设置字体等
End With
Rg1.EntireColumn.AutoFit   '自动调整列宽
Rg1.EntireRow.AutoFit
Rg1 .WrapText =True '引用单个单元格
Ws.PrintPreview                 '预览


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/1/15 8:14:00 [显示全部帖子]

就是感觉代码太长。

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6848 积分:43334 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/1/15 8:54:00 [显示全部帖子]

以下是引用blackzhu在2012-1-15 8:39:00的发言:
用你的代码测试,一个提示找不到日期控件,第二个,增加了一个空行以及,相同列名合并了.

自己增加一个“表名称”和“日期”控件,再试试。


 回到顶部
总数 16 上一页 1 2