Foxtable(狐表)用户栏目专家坐堂 → 用代码设置导出excel的边框后,日期字段显示不正确 (已解决)


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

主题:用代码设置导出excel的边框后,日期字段显示不正确 (已解决)

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4698 威望:0 精华:0 注册:2015/11/22 10:28:00
用代码设置导出excel的边框后,日期字段显示不正确 (已解决)  发帖心情 Post By:2022/7/6 9:13:00 [只看该作者]

如下图,用saveexcel导出一个表格,字段显示正确,只是没有边框
为了美观,用代码设置了边框,但日期字段显示不正确了

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_2022-07-06_09-09-53.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:导出格式设置.foxdb


设置边框的代码是抄帮助的:

Dim fl As String = "d:\表a.xls"
Tables("表a").SaveExcel(fl,"表a")

Dim Book As New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.WordWrap = True
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
For i As Integer = 0 To sheet.Cols.Count - 1
    For j As Integer = 0 To sheet.Rows.count - 1
        sheet(j,i).Style = style
        sheet(j,i).Style.AlignHorz = XLS.AlignHorzEnum.Center
        sheet(j,i).Style.AlignVert = XLS.AlignVertEnum.Center
        Sheet.Rows(j).Height = 28 
    Next
Next
Book.Save(fl)

Dim proc As new Process
proc.File = fl
proc.Start
[此贴子已经被作者于2022/7/6 9:43:16编辑过]

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


加好友 发短信
等级:超级版主 帖子:109501 积分:557173 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/6 9:27:00 [只看该作者]

Dim Book As New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle() '定义新样式
Style.WordWrap = True
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center

Dim Style2 As XLS.Style = Book.NewStyle() '定义新样式
Style2.WordWrap = True
Style2.BorderTop = XLS.LineStyleEnum.Thin
Style2.BorderBottom = XLS.LineStyleEnum.Thin
Style2.BorderLeft = XLS.LineStyleEnum.Thin
Style2.BorderRight = XLS.LineStyleEnum.Thin
Style2.AlignHorz = XLS.AlignHorzEnum.Center
Style2.AlignVert = XLS.AlignVertEnum.Center
Style2.Format="yyyy年MM月dd日"

For i As Integer = 0 To sheet.Cols.Count - 1
    For j As Integer = 0 To sheet.Rows.count - 1
if i=1 then
        sheet(j,i).Style = style2
else
        sheet(j,i).Style = style
end if
        Sheet.Rows(j).Height = 28 
    Next
Next
Book.Save(fl)

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4698 威望:0 精华:0 注册:2015/11/22 10:28:00
  发帖心情 Post By:2022/7/6 9:43:00 [只看该作者]

噢,原来要针对不同格式分别写样式。

 回到顶部