以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用代码设置导出excel的边框后,日期字段显示不正确 (已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178478)

--  作者:rogen
--  发布时间:2022/7/6 9:13:00
--  用代码设置导出excel的边框后,日期字段显示不正确 (已解决)
如下图,用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编辑过]

--  作者:有点蓝
--  发布时间: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
--  发布时间:2022/7/6 9:43:00
--  
噢,原来要针对不同格式分别写样式。