Foxtable(狐表)用户栏目专家坐堂 → 关于打印问题


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

主题:关于打印问题

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
关于打印问题  发帖心情 Post By:2020/3/25 1:09:00 [显示全部帖子]

为什么打印出来的样式和窗体实际显示的样式不一样呢?

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

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


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


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

怎么能实现这个样式呢?数据也不对,显示的是记录数,打出来的却是合计两字
[此贴子已经被作者于2020/3/25 8:44:51编辑过]

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


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

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog 
Dim flg As New SaveExcelFlags
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
     Tables("按账户查账窗体_azhcxTable").SaveExcel(dlg.FileName, "按账户查账",flg.CellStyle=True )  '保存文件
End If

Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.ForeColor = Color.Red '设置样式的字体颜色
For i As Integer = 0 To 9
    Sheet(i, 0).Value = i
    If i Mod 2 =0 Then '如果是偶数行
        Sheet(i,0).Style =Style '设置单元格样式
    End If
Next
Book.Save("C:\WINDOWS\Web\Wallpaper\test.xls")
Dim Proc As New Process
Proc.File = "C:\WINDOWS\Web\Wallpaper\test.xls"
Proc.Start()


这样修改后把原数据都给删除了



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


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

实现这个功能 属于导出功能还是报表功能呢? 本来是想随时将窗体表筛选出符合条件的数据按照窗体表显示的格式打印出来或导出来就可以了,报表是不是还得重新筛选计算和设计样式呀?
[此贴子已经被作者于2020/3/25 17:43:41编辑过]

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


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

想格式化合计行格式我怎么获取这个值呢?

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

导出的excel怎么没有合计行呢?
获取列的语句如下
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    Sheet(r + 1,dt.Cols("支出金额").Index).Style = Style '设置折扣单元格的样式
    Sheet(r + 1,dt.Cols("收入金额").Index).Style = Style1 '设置折扣单元格的样式
Next
获取合计行语句是什么呢?

全部代码如下
Dim dt As Table = Tables("按账户查账窗体_azhcxTable")
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
Dim flg As New SaveExcelFlags
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("按账户查账窗体_azhcxTable").SaveExcel(dlg.FileName, "按账户查账",flg.CellStyle=True )  '保存文件
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 Style1 As Xls.Style = Book.NewStyle '新建一个样式
Style.ForeColor = Color.Red '字体颜色设为红色
Style.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style.Format =Format ("0.00") '格式化样式的字体颜色设为红色
Style1.ForeColor = Color.Blue  '字体颜色设为蓝色
Style1.Font =new font("宋体", 9,FontStyle.Bold ) ''字体为宋体12加粗
Style1.Format =Format ("0.00")''格式化样式的字体颜色设为红色
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
    Sheet(r + 1,dt.Cols("支出金额").Index).Style = Style '设置折扣单元格的样式
    Sheet(r + 1,dt.Cols("收入金额").Index).Style = Style1 '设置折扣单元格的样式
Next
Book.Save("C:\WINDOWS\Web\Wallpaper\test.xls")
Dim Proc As New Process
Proc.File = "C:\WINDOWS\Web\Wallpaper\test.xls"
Proc.Start()
[此贴子已经被作者于2020/3/26 10:06:10编辑过]

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


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

经过修改
显示的是各适量第一列
合计行不显示也不知道格式化了没有

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

导出之前显示的是


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

导出之后的样子是  不写出合计行,而是把最后一行数据的第一列格式化了


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

[此贴子已经被作者于2020/3/26 11:04:43编辑过]

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


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

For cc As Integer = 0 To dt.Cols.Count '填入数据
Sheet(dt.Rows.Count+1,cc).Style = Style2
Next
格式化后怎么多出几列呢?


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


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


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

对了,窗体表有隐藏列,改为下面的代码就没问题了,可是奇怪,我操作的是窗体表不是数据库中的表,为什么还是这样,怎么设置一下呢?

Dim dt As Table = Tables("按账户查账窗体_azhcxTable")
For cc As Integer = 0 To dt.Cols.Count-5 '填入数据
Sheet(dt.Rows.Count+1,cc).Style = Style2
Sheet(0,cc).Style = Style3
Next


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


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

Dim dt As Table = Tables("按账户查账窗体_azhcxTable")
For cc As Integer = 0 To dt.Cols.Count-5 '填入数据
Sheet(dt.Rows.Count+1,cc).Style = Style2
Sheet(0,cc).Style = Style3
Next

因为窗体表显示的列数不数据库中表的列数少了5列,不一样的
[此贴子已经被作者于2020/3/26 14:14:29编辑过]

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


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

Style4.BackColor =Color.Azure '格式背景颜色设为淡蓝色
For r As Integer = 0 To dt.Rows.Count '填入数据
    Sheet(r + 1,dt.Cols("支出金额").Index).Style = Style '设置折扣单元格的样式
    Sheet(r + 1,dt.Cols("收入金额").Index).Style = Style1 '设置折扣单元格的样式
  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
    End If
   Next
没有设置 文本对齐方式呀?怎么凡是偶数都改了对齐方式了呀,并且用代码也改不回来呢

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


[此贴子已经被作者于2020/3/26 14:58:40编辑过]

 回到顶部
总数 18 1 2 下一页