Foxtable(狐表)用户栏目专家坐堂 → 导出表格时,如下代码中怎么设置自动列宽,表格线变成实线,然后第一次导出保存文件名为表A,导出时依次保存不覆盖文件?


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

主题:导出表格时,如下代码中怎么设置自动列宽,表格线变成实线,然后第一次导出保存文件名为表A,导出时依次保存不覆盖文件?

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109476 积分:557042 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 9:48:00 [显示全部帖子]

1、表格线:http://www.foxtable.com/webhelp/topics/1163.htm

2、重命名的话,建一个内部表只有一行一列,单元格填入序号比如1,那么第一次文件名为A1,就把单元格值+1,大概

……
dim a as integer = tables("某表").rows(0)(0)
Book.Save("D:\reports\A" & a & ".xls")
tables("某表").rows(0)(0) = a+1
Dim Proc As New Process '定义一个新的Process

3、自动列宽就需要另外处理了,先生成报表,然后另外使用vba控制:http://www.foxtable.com/webhelp/topics/2121.htm

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

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109476 积分:557042 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 11:56:00 [显示全部帖子]

比如

Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.ForeColor = Color.Red 
'设置样式的字体颜色
Style.font = New Font("宋体",10)

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109476 积分:557042 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 13:30:00 [显示全部帖子]

Dim Rg As MSExcel.Range = Ws.UsedRange

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109476 积分:557042 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 17:31:00 [显示全部帖子]

完整代码?

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109476 积分:557042 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/16 17:44:00 [显示全部帖子]

Dim tbl As Table = Tables("表A")
Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim St1 As XLS.Style = Book.NewStyle
St1.Format = "yyyy-MM-dd"

Dim hdr As Integer = tbl.HeaderRows '获得表头的层数
tbl.CreateSheetHeader(Sheet) '生成表头
Dim cnt As Integer
For c As Integer = 0 To tbl.Cols.Count - 1
    If tbl.Cols(c).Visible Then
if tbl.Cols(c).IsDate
Sheet.Cols(cnt).Style = st1
next
        For r As Integer = 0 To tbl.Rows.Count - 1
            sheet(r + hdr, cnt).value = tbl(r, c)
        Next
        cnt = cnt + 1
    End If
Next
Book.Save("D:\reports\表A.xls")

 回到顶部