Foxtable(狐表)用户栏目专家坐堂 → 导出EXCE;L设置边框


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

主题:导出EXCE;L设置边框

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
导出EXCE;L设置边框  发帖心情 Post By:2021/5/10 11:28:00 [只看该作者]

老师,我导出EXCEL表文件后,加了一个增加上表格边框的样式,但是增加样式后把原来的对齐方式改了(增加的样式不涉及对齐),请问如何才能实现加上边框又不影响原对齐格式。

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("出库序时账_Table1").SaveExcel(dlg.FileName, "出库序时账")  '保存文件
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)

Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.BorderColorTop = Color.Black
Style.BorderColorBottom = Color.Black
Style.BorderColorLeft = Color.Black
Style.BorderColorRight = Color.Black
For r As Integer = 0 To str2
    For c As Integer =0 To 11
        Sheet(r,c).Style = Style
    Next
Next

    Book.Save(dlg.FileName)
    MessageBox.show("导出成功")


End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107881 积分:548774 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/10 12:19:00 [只看该作者]

在样式里统计对齐的用法:http://www.foxtable.com/webhelp/topics/1161.htm

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/10 18:47:00 [只看该作者]

老师,加了不管用,如下,老师请看看问题出在哪里?

Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Tables("出库序时账_Table1").SaveExcel(dlg.FileName, "出库序时账")  '保存文件
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)

Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.BorderColorTop = Color.Black
Style.BorderColorBottom = Color.Black
Style.BorderColorLeft = Color.Black
Style.BorderColorRight = Color.Black
For r As Integer = 0 To str2
    For c As Integer =0 To 11
        Sheet(r,c).Style = Style
    Next
Next

Dim StyleN As XLS.Style = Book.NewStyle() '定义新样式
StyleN.AlignHorz = XLS.AlignHorzEnum.Center
StyleN.AlignVert = XLS.AlignVertEnum.Center
Sheet.Rows(0).Style = StyleN 

    Book.Save(dlg.FileName)
    MessageBox.show("导出成功")


End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107881 积分:548774 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/10 20:29:00 [只看该作者]

Style设置行的样式。行、列、单元格都可以设置样式,优先顺序是:单元格>行>列
因为设置了单元格样式

Dim Book As New XLS.Book("D:\问题\12.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)

Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.BorderColorTop = Color.Black
Style.BorderColorBottom = Color.Black
Style.BorderColorLeft = Color.Black
Style.BorderColorRight = Color.Black
For c1 As Integer =0 To 11
    Sheet(0,c1).Style = Style
Next

Style = Book.NewStyle() '定义新样式
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.BorderColorTop = Color.Black
Style.BorderColorBottom = Color.Black
Style.BorderColorLeft = Color.Black
Style.BorderColorRight = Color.Black
For r As Integer = 1 To str2
    For c As Integer =0 To 11
        Sheet(r,c).Style = Style
    Next
Next

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


加好友 发短信
等级:四尾狐 帖子:924 积分:6639 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2021/5/10 21:00:00 [只看该作者]

谢谢老师!

 回到顶部