以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于打印问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147819)

--  作者:裴保民
--  发布时间:2020/3/25 1:09:00
--  关于打印问题
为什么打印出来的样式和窗体实际显示的样式不一样呢?

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

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


--  作者:有点蓝
--  发布时间:2020/3/25 8:37:00
--  
这种使用底层用法设置样式的,foxtable的打印无法识别。
--  作者:裴保民
--  发布时间:2020/3/25 8:44:00
--  
怎么能实现这个样式呢?数据也不对,显示的是记录数,打出来的却是合计两字
[此贴子已经被作者于2020/3/25 8:44:51编辑过]

--  作者:有点蓝
--  发布时间:2020/3/25 8:47:00
--  
这种修改过的合计行无法导出。只能是导出后自己另外使用代码设置合计行样式和数据:http://www.foxtable.com/webhelp/topics/1146.htm
--  作者:裴保民
--  发布时间: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()


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



--  作者:有点蓝
--  发布时间:2020/3/25 9:09:00
--  
把【开发指南-execl报表-类型介绍】这章内容仔细看一遍,学会理解代码再做。先看懂代码是做什么的
--  作者:裴保民
--  发布时间:2020/3/25 17:34:00
--  
实现这个功能 属于导出功能还是报表功能呢? 本来是想随时将窗体表筛选出符合条件的数据按照窗体表显示的格式打印出来或导出来就可以了,报表是不是还得重新筛选计算和设计样式呀?
[此贴子已经被作者于2020/3/25 17:43:41编辑过]

--  作者:有点蓝
--  发布时间:2020/3/25 17:44:00
--  
属于导出功能,直接导出窗口数据。样式需要重新设计
--  作者:裴保民
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2020/3/26 10:17:00
--  
Style1.Format =Format ("0.00")\'\'格式化样式的字体颜色设为红色
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 \'设置折扣单元格的样式
Next
Sheet(dt.Rows.Count,0).Style = Style 
Book.Save("C:\\WINDOWS\\Web\\Wallpaper\\test.xls")