Foxtable(狐表)用户栏目专家坐堂 → 代码生成excel表格时列宽如何控制?


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

主题:代码生成excel表格时列宽如何控制?

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


加好友 发短信
等级:超级版主 帖子:106538 积分:541855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 9:29:00 [显示全部帖子]


如果反过来,希望自动调整单元格大小,使单元格能够显示全部数据。这需要用到AutoFit方法。如:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A1")
Rg.Value = "Foxtable操控Excel全攻略"
Rg.Font.Size = 50 '把字体放大
Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit  '自动调整行高
App.Visible = True

如果要调整工作表全部单元格的大小,可以使用Cells属性。如:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit  '自动调整行高
App.Visible = True

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


加好友 发短信
等级:超级版主 帖子:106538 积分:541855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 9:45:00 [显示全部帖子]

直接使用vba填充和生成excel文件

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


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

试试不就知道了

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


加好友 发短信
等级:超级版主 帖子:106538 积分:541855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 9:50:00 [显示全部帖子]

如果使用XLS.Book,有个笨方法,给这个列赋值的时候,记录这一列单元格最大长度的字符长度,然后大概估算一下宽度,最后再设置这一列的宽度

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


加好友 发短信
等级:超级版主 帖子:106538 积分:541855 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 10:01:00 [显示全部帖子]

那就只能使用7楼方法了

 回到顶部