以文本方式查看主题
- 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
--
不可能没用。
弄不好,你就上传例子我帮你弄。
|