Foxtable(狐表)用户栏目专家坐堂 → Foxtable内容显示及Excel报表导出的内容显示问题


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

主题:Foxtable内容显示及Excel报表导出的内容显示问题

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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
Foxtable内容显示及Excel报表导出的内容显示问题  发帖心情 Post By:2017/6/1 22:02:00 [只看该作者]

如下图,当Foxtable的单元格内容过多的时候,是否可以自动调整行高或列宽来显示全部内容?同理,将内容导出到Excel报表时,有没有办法 自动调整Excel行高或列宽来显示全部内容

 


图片点击可在新窗口打开查看此主题相关图片如下:hg.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:hg2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/1 23:13:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2017/6/3 16:11:00 [只看该作者]

我按以上链接的方法设置的自动调整行高,但还是个别不显示全部(只是最后一行显示不出来),如下图,为什么?

 


图片点击可在新窗口打开查看此主题相关图片如下:1234.jpg
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2017/6/4 14:38:00 [只看该作者]

老师们帮帮忙呀


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/4 15:58:00 [只看该作者]

代码没问题,请上传具体例子测试

 


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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2017/7/10 9:25:00 [只看该作者]

实例用的公司的MS sql服务器,由于权限问题,不方便贴上来;只能把我导出的EXCEL表传上来,里面的黄色填充内容就是没有自动换行成功的,看看能不能分析出问题所在~

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel工艺书.xls

[此贴子已经被作者于2017/7/10 9:25:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/10 9:51:00 [只看该作者]

 测试了一下,对于合并单元格的列,无效。

 

 如果要处理,需要用下面代码(你的模板有问题,请把右边多余的列删除)

 


Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = app.WorkBooks.open("C:\Users\dv rrxaI600 007\Downloads\excel工艺书.xls")
    Dim rg As MSExcel.Range
    Dim Ws = wb.WorkSheets(1)
    Dim tempWs = wb.WorkSheets.Add
    msgbox(ws.UsedRange.columns.count)
    For Each rg In ws.UsedRange
        output.show(Date.now)
        If rg.MergeCells Then
            Dim tempCell As MSExcel.Range
            Dim width As Double = 0
            Dim tempCol
            For Each tempcol In rg.MergeArea.Columns
                width = width + tempcol.ColumnWidth
            Next
            tempWs.Columns(1).WrapText = True
            tempWs.Columns(1).ColumnWidth = width
            tempWs.Columns(1).Font.Size = rg.Font.Size
            tempWs.Cells(1, 1).Value = rg.Value
            tempWs.Cells(1, 1).RowHeight = 0
            tempWs.Cells(1, 1).EntireRow.Activate
            tempWs.Cells(1, 1).EntireRow.AutoFit
            If (rg.RowHeight < tempWs.Cells(1, 1).RowHeight) Then
                Dim tempHeight As Double
                Dim tempCount As Integer
                tempHeight = tempWs.Cells(1, 1).RowHeight
                tempCount = rg.MergeArea.Rows.Count
                For Each addHeightRow As object In rg.MergeArea.Rows
                   
                    If (addHeightRow.RowHeight < tempHeight / tempCount) Then
                        addHeightRow.RowHeight = tempHeight / tempCount
                    End If
                    tempHeight = tempHeight - addHeightRow.RowHeight
                    tempCount = tempCount - 1
                Next
                rg.WrapText = True
            End If
        End If
    Next
    app.DisplayAlerts = False
    tempWs.Delete
    app.visible = True
catch ex As exception
    msgbox(ex.message)
    app.quit
End try


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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2017/7/10 10:19:00 [只看该作者]

以上代码看不懂,我用它直接替换了操作Excel换行部分的代码,运行后,提示个“255”,然后程序就死了,没反应,等了差不多1分钟才将Excle导出来;导出来以后,发现原来的合并列没有问题了,但是有一个没有合并的列则出现了之前换行不完整的地方,导出的表格如下:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel工艺书2.xls


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/10 10:29:00 [只看该作者]

1、模板那里,请把你右边空白的列删除一次;

 

2、该一句代码

 

            tempWs.Columns(1).ColumnWidth = iif(width>10, width-10, width)


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


加好友 发短信
等级:二尾狐 帖子:593 积分:5562 威望:0 精华:0 注册:2012/6/29 19:11:00
  发帖心情 Post By:2017/7/10 10:46:00 [只看该作者]

还是不行,按上面的方法删了列,也改了代码;导出来的结果还是不对;我本来想在最后一列增加一个<End>,但系统提示我,找不到[End]列~
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:excel工艺书3.xls

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工艺书(配料中心).xls


 回到顶部
总数 22 1 2 3 下一页