以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]缩小字体填充问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=68646)

--  作者:monvzhilei
--  发布时间:2015/5/21 21:06:00
--  [讨论]缩小字体填充问题

缩小字体填充问题,也不是不灵,有些地方灵,有些地方不灵。我还是截图。

 

   具体代码:

     Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板
Dim dr1 As DataRow = Tables("条件").Current.DataRow \'定义条件表的值

Dim fl As String = ProjectPath & "Reports\\" & dr1("班级名称") & ".xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,9).Value = "<[班级名称] = \'" & dr1("班级名称")&"\'>" \'这里是报表的范围值

Book.Build() \'生成报表
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
\'Rg.EntireColumn.AutoFit   \'自动调整列宽
\'Rg.EntireRow.AutoFit  \'自动调整行高
\'Rg.WrapText = True
rg.ShrinkToFit = True
App.Visible = False
app.quit

 

 

 

 

代码可以正常运行。

  运行以后,关键问题是有些地方缩小字体。有些地方居然没有。

 

  


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

--  作者:monvzhilei
--  发布时间:2015/5/21 21:10:00
--  

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

--  作者:大红袍
--  发布时间:2015/5/21 21:17:00
--  

 做个例子上来测试,我试了下没问题。

 

 模板单元格那里,设置一下格式自动缩小填充。


--  作者:monvzhilei
--  发布时间:2015/5/29 10:13:00
--  

今天打开  reports 目录下面的报表。  一开始生成的时候,看到的是自动缩小字体。  结果 关掉,选择不保存,或者取消 按钮以后,  重新打开。这个奖励情况栏目里面。居然又没有缩小字体填充了。

 

    现在的问题是这样:  一开始有缩小字体。  但是再次打开,居然还原为没有缩小字体了。     这样的问题,那个大神遇到过?


--  作者:大红袍
--  发布时间:2015/5/29 10:16:00
--  
 如果你不保存,肯定是会这样啊。加入代码保存一下,如果 Wb.Save
--  作者:monvzhilei
--  发布时间:2015/5/29 11:07:00
--  

但是在reports下面,一旦生成报表,已经有报表存在。说明这个报表已经保存在电脑上面了。   我再次打开,为什么还有保存,不保存,取消  按钮出现? 我的本意就是点击生成按钮,就自动保存好的。  我一开始的代码,稍微修改了一下,也没有作用。

 

 

修改好的代码如下:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板
Dim dr1 As DataRow = Tables("条件").Current.DataRow \'定义条件表的值

Dim fl As String = ProjectPath & "Reports\\" & dr1("班级名称") & ".xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(1,9).Value = "<[班级名称] = \'" & dr1("班级名称")&"\'>" \'这里是报表的范围值

Book.Build() \'生成报表
Book.Save(fl)
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
\'Rg.EntireColumn.AutoFit   \'自动调整列宽
\'Rg.EntireRow.AutoFit  \'自动调整行高
\'Rg.WrapText = True
rg.ShrinkToFit = True
App.Visible = False

wb.save
app.quit

 


--  作者:大红袍
--  发布时间:2015/5/29 11:12:00
--  

 不可能没用。

 

 弄不好,你就上传例子我帮你弄。