Foxtable(狐表)用户栏目专家坐堂 → 关于导出Excel设定行高问题


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

主题:关于导出Excel设定行高问题

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
关于导出Excel设定行高问题  发帖心情 Post By:2020/3/26 22:50:00 [显示全部帖子]

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

这句话自动换行自动设置行高怎么不管用呢?

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 10:43:00 [显示全部帖子]

Dim i As Integer = 0
Dim dt As Table = Tables("按账户查账窗体_azhcxTable")
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
Dim flg As New SaveExcelFlags
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
dlg.FileName="按账户查账"
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("按账户查账窗体_azhcxTable").SaveExcel(dlg.FileName, "按账户查账",flg.CellStyle=True )  '保存文件
Else
    Return
End If
Dim Book As New XLS.Book(dlg.FileName)
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
Dim Style As Xls.Style = Book.NewStyle '新建一个样式
Dim Style02 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style1 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style12 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style2 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style3 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style4 As Xls.Style = Book.NewStyle '新建一个样式
Dim Style5 As Xls.Style = Book.NewStyle '新建一个样式
Style.ForeColor = Color.Red '字体颜色设为红色
Style.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style.Format =("0.00") '格式化样式的字体颜色设为红色
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.WordWrap=True
Style02.ForeColor = Color.Red '字体颜色设为红色
Style02.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style02.Format =("0.00") '格式化样式的字体颜色设为红色
Style02.BackColor =Color.Azure
Style02.AlignHorz = XLS.AlignHorzEnum.Center
Style02.WordWrap=True
Style1.ForeColor = Color.Blue  '字体颜色设为蓝色
Style1.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style1.Format =("0.00")''格式化样式的字体颜色设为红色
Style1.AlignHorz = XLS.AlignHorzEnum.Center
Style1.WordWrap=True
Style12.ForeColor = Color.Blue  '字体颜色设为蓝色
Style12.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style12.Format =("0.00")''格式化样式的字体颜色设为红色
Style12.BackColor =Color.Azure
Style12.AlignHorz = XLS.AlignHorzEnum.Center
Style12.WordWrap=True
Style2.ForeColor = Color.Red '字体颜色设为蓝色
Style2.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style2.Format =("0.00")''格式化样式的字体颜色设为红色
Style2.BackColor =Color.PaleGreen   '格式背景颜色设为红色
Style2.AlignHorz = XLS.AlignHorzEnum.Center
Style2.WordWrap=True
Style3.BackColor =Color.PaleGreen   '格式背景颜色设为红色
Style3.Font =new font("宋体", 10,FontStyle.Bold ) ''字体为宋体12加粗
Style3.BackColor =Color.LightGray '格式背景颜色设为红色
Style3.AlignHorz = XLS.AlignHorzEnum.Center
Style3.WordWrap=True
Style4.BackColor =Color.Azure '格式背景颜色设为红色
Style4.AlignHorz = XLS.AlignHorzEnum.Center
Style4.WordWrap=True
Style5.BackColor =Color.Azure '格式背景颜色设为红色
Style5.Format =("yyyy-MM-dd")''
Style5.AlignHorz = XLS.AlignHorzEnum.Center
Style5.WordWrap=True
For Each c As Col In dt.Cols
    If c.visible Then i+=1
Next
For r As Integer = 0 To dt.Rows.Count '填入数据
    If  r Mod 2 =0 Then '如果是偶数行
        For lzs As Integer = 0 To i-1  'dt.Cols.Count-5  '填入数据
            Sheet( r+1 ,lzs ).Style =Style4 '设置单元格样式
        Next
        Sheet(r + 1,dt.Cols("支出金额").Index).Style = Style02 '设置折扣单元格的样式
        Sheet(r + 1,dt.Cols("收入金额").Index).Style = Style12 '设置折扣单元格的样式
        Sheet(r + 1,dt.Cols("记账日期").Index).Style = Style5 '设置折扣单元格的样式
    Else
        Sheet(r + 1,dt.Cols("支出金额").Index).Style = Style '设置折扣单元格的样式
        Sheet(r + 1,dt.Cols("收入金额").Index).Style = Style1 '设置折扣单元格的样式
    End If
Next
Sheet(dt.Rows.Count+1,0).value = "记录数 [" & dt.Rows.Count & "]"
Sheet(dt.Rows.Count+1,dt.Cols("支出金额").Index).value = dt.compute("sum(支出金额)")
Sheet(dt.Rows.Count+1,dt.Cols("收入金额").Index).value = dt.compute("sum(收入金额)")
For cc As Integer = 0 To i-1 '填入数据
    Sheet(dt.Rows.Count+1,cc).Style = Style2
    Sheet(0,cc).Style = Style3
Next
'
''Dim Book As New XLS.Book(dlg.FileName)
'Dim fl As String = dlg.FileName
'Dim App As New MSExcel.Application
'Book.Build() '生成细节区
'Book.Save(fl) '保存工作簿
'Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)                     (1)自动调整行高的代码应该放到什么位置呢?放到这里提示文件已打开
'Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
'Dim Rg As MSExcel.Range = Ws.Cells
'Rg.EntireRow.AutoFit  '自动调整行高
'App.Visible = True
Book.Save(ProjectPath & "按账户查账_" & Format(Date.Now,"yyyyMMdd HHmmss") & ".xls" )
Dim Proc As New Process
Proc.File =ProjectPath & "按账户查账_" & Format(Date.Now,"yyyyMMdd HHmmss") & ".xls"
Proc.Start()

If FileSys.FileExists("dlg.FileName") Then '如果指定的文件存在
    FileSys.DeleteFile("dlg.FileName",2,2) '则彻底删除之                                  (2)还有这段代码运行后不起作用删除不了刚建的文件
End If

[此贴子已经被作者于2020/3/27 10:45:35编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 12:21:00 [显示全部帖子]

打开excel文件后怎么不上所有行的调整呢?是隔一行调整一行

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


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 14:09:00 [显示全部帖子]

如果直接答应窗体表中的带有各式的数据怎么设置呢?

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


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 14:29:00 [显示全部帖子]


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

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

数据结果和样式对不对,怎么设置呢?

[此贴子已经被作者于2020/3/27 14:30:09编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 14:50:00 [显示全部帖子]

只能导出Excel才能实现吗?


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 15:04:00 [显示全部帖子]

能不能操作导出后不打开EXCEL直接打印呢?

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 17:39:00 [显示全部帖子]

蓝老师(1)怎么将打印机页面设置调出来呢?
         (2)我添加了打印完了删除此文件,删除不了说此文件已经打开,怎么关闭此文件呢?
If FileSys.FileExists(fl ) Then '如果指定的文件存在
Ws.PrintOut(Preview:=False)
App.Quit
    FileSys.DeleteFile(fl,2,2) '则彻底删除之                                
End If

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

[此贴子已经被作者于2020/3/27 17:49:56编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 17:52:00 [显示全部帖子]

我一开始是这样写的,死机了,的将狐表退出后重新启动,刚又重试了一次又死机了
司机的原因是因为  'App.Visible = True 表没打开的原因,怎么设置不用打开,直接调出打印机设置界面直接打印呢?
 

(2)App.Visible = True
Ws.PrintOut(Preview:=True)
App.Quit
If FileSys.FileExists(fl) Then '如果指定的文件存在
App.Quit
 FileSys.DeleteFile(fl,2,2) '则彻底删除之                                   
End If

运行后如果不设置纵打印不会弹出错误框,反之纵打印会弹出下列错误的 同时也不删除文件

此主题相关图片如下:截图01.jpg
按此在新窗口浏览图片


[此贴子已经被作者于2020/3/27 19:43:25编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:12678 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/3/27 20:01:00 [显示全部帖子]

App.Visible = True
Ws.PrintOut(Preview:=True)
Wb.save 把它放到这里运行后没发现异常
App.Quit
If FileSys.FileExists(fl) Then '如果指定的文件存在
App.Quit
 FileSys.DeleteFile(fl,2,2) '则彻底删除之                                   
End If

调出来的设置界面怎么没有打印从几页到几页的设置项呢?

此主题相关图片如下:截图02.jpg
按此在新窗口浏览图片
设置了下面也不起作用

此主题相关图片如下:截图03.jpg
按此在新窗口浏览图片



[此贴子已经被作者于2020/3/27 20:06:36编辑过]

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