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


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

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

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/13 8:40:00 [显示全部帖子]

示例二

保存订单表,包括行号列和单元格样式:

Dim flg As New SaveExcelFlags
flg
.RowNumber = True
flg
.CellStyle = True
Tables(
"订单").SaveExcel("C:\data\test.xls","订单",flg
)


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/13 11:02:00 [显示全部帖子]

呵呵,这个用VBA啦!


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/14 9:11:00 [显示全部帖子]

我不是叫你在群里问人家拿一下这个代码,上次我帮人家做过的.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/14 11:11:00 [显示全部帖子]

Dim flg As New SaveExcelFlags
flg.RowNumber = True
flg.CellStyle = True
Tables("A").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
Rg = Ws.Range("A1:K1")
Rg.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)
Dim Rg1 As MSExcel.Range
Rg1 = Ws.Range("A1:K1")    '设置标题的范围
Rg1.Merge         '合并 
Rg1.Value ="导入"   '设置标题
With Rg1.Font
    .Name = "黑体" '字体
    .Size = 20 '字号
    .Bold = True   '加粗
    .Italic = True '斜体
    .ColorIndex = 3'颜色            '标题设置字体等
End With
Rg1.EntireColumn.AutoFit   '自动调整列宽
Rg1.EntireRow.AutoFit
Rg1 .WrapText =True '引用单个单元格
Ws.PrintPreview                 '预览

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/14 15:27:00 [显示全部帖子]

累死我了,终于做好了:

 

Dim flg As New SaveExcelFlags
Tables("A").SaveExcel("E:\表A.Xls","表A",flg)
Dim Book As New XLS.Book("E:\表A.Xls") '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet.Rows.Insert(0) '在最前面插入一行
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.ForeColor = Color.Red
Dim fnt As New Font("黑体",12,FontStyle.Underline)
Style.Font= fnt
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center
Dim dt As Table = Tables("A")
For c As Integer = 0 To dt.Cols.Count '添加列标题
    Sheet.MergeCell(0,0,1,c)
    Sheet(0,0).Value = "导入"
    Sheet.Rows(0).Height = 50
    Sheet.Cols(0).Width = 100
    Sheet(0,0).Style = Style
Next
Book.Save("E:\表A.Xls")
Dim Proc As New Process
Proc.File = "E:\表A.Xls"
Proc.Start()

 

 

 EXCEL编程,强烈要求加上自动列宽和行高的属性:

 

 这个是VBA的.

 

Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit 


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/14 15:29:00 [显示全部帖子]

如果要包括行号在内,代码是:

 

Dim flg As New SaveExcelFlags
flg.RowNumber = True
flg.CellStyle = True
Tables("A").SaveExcel("E:\表A.Xls","表A",flg)
Dim Book As New XLS.Book("E:\表A.Xls") '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Sheet.Rows.Insert(0) '在最前面插入一行
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.ForeColor = Color.Red
Dim fnt As New Font("黑体",12,FontStyle.Underline)
Style.Font= fnt
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center
Dim dt As Table = Tables("A")
For c As Integer = 0 To dt.Cols.Count '添加列标题
    Sheet.MergeCell(0,0,1,c+1)
    Sheet(0,0).Value = "导入"
    Sheet.Rows(0).Height = 50
    Sheet.Cols(0).Width = 100
    Sheet(0,0).Style = Style
Next
Book.Save("E:\表A.Xls")
Dim Proc As New Process
Proc.File = "E:\表A.Xls"
Proc.Start()


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/15 8:09:00 [显示全部帖子]

昨日考虑线取消合并,再添加,但是这样的效果出来后就不是原来的表结构了.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/15 8:36:00 [显示全部帖子]

用了VBA.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/15 8:39:00 [显示全部帖子]

用你的代码测试,一个提示找不到日期控件,第二个,增加了一个空行以及,相同列名合并了.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/17 7:58:00 [显示全部帖子]

这个居然搞出这么多花样.利害.

 回到顶部
总数 12 1 2 下一页