以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  导出时间问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123638)

--  作者:susu312
--  发布时间:2018/8/20 9:18:00
--  导出时间问题


此主题相关图片如下:1.png
按此在新窗口浏览图片

老师,您看这个导出时间不对,

 

导出代码:

Dim nums1() As String={"cardID","name","sex","age","birth","tel","jiguan","rational", _
                     "edu","health","workdate","politicalStatus", _
                     "hobbies","retiredPost","title","address","leaOrRetire", _
                    "retireTime","proTecPost","proSpecialty","partyBranch","partyTime", _
                     "presonalClass","organName","partyStanding","retiredDep", _
                     "guanZhu"}
Dim nums2()  As String={"身份证号", "姓名","性别","年龄","出生年月","联系方式","籍贯","民族", _
                     "学历","健康状况","参加工作日期","政治面貌", _
                     "兴趣爱好","离退休职务","享受待遇","地址","状态", _
                    "离退休时间","专业技术职务","专业特长","所在党支部","入党时间", _
                     "个人成分","单位","党龄","部门", _
                     "纪委关注"}

Dim List As WinForm.ListBox = e.Form.Controls("ListBox2")
\'MessageBox.Show(List.Items.Count)

Dim nms As New List(of String)
For i As Integer = 0 To List.Items.count - 1 \'获取已经勾选的列
     Dim index As Integer=Array.Indexof(nums2,List.Items(i))
     nms.Add(nums1(index))
Next


If nms.Count = 0 Then
    MessageBox.Show("至少要选择一列","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
\'生成Excel表
Dim dt As Table = Tables("person")
Dim Book As New XLS.Book
Dim Style As XLS.Style = Book.NewStyle() \'定义新样式
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center

Dim Sheet As XLS.Sheet = Book.Sheets(0)
For i As Integer = 0 To nms.count -1
    Sheet(0, i).Value = nums2(Array.Indexof(nums1,nms(i)))\'\'获得该值在nums1中的位置,然后在nums2的同等位置找
    Sheet(0, i).Style = Style
  
Next
For r As Integer = 0 To dt.Rows.Count - 1 \'填入数据
    For i As Integer = 0 To nms.count -1
        Sheet(r + 1, i).Value = dt.rows(r)(nms(i))
        Sheet(r + 1, i).Style = Style
    Next
Next
\'保存并打开excel文件
\'Book.Save("c:\\reports\\test.xls")
\'Dim Proc As New Process
\'Proc.File = "c:\\reports\\test.xls"
\'Proc.Start()

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
     Book.Save(dlg.FileName)
     \'Tables("person").SaveExcel(dlg.FileName,"person")   \'保存文件
End  If

 

 

红色部分是把数据库表的值传给EXCEL表,但是,时间类型的值传出来的都不对?

 

[此贴子已经被作者于2018/8/20 9:31:03编辑过]

--  作者:有点蓝
--  发布时间:2018/8/20 9:42:00
--  
要单独设置日期单元格的格式:

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120568&skin=0

--  作者:susu312
--  发布时间:2018/8/20 10:37:00
--  
以下是引用有点蓝在2018/8/20 9:42:00的发言:
要单独设置日期单元格的格式:

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120568&skin=0


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

 

老师 ,这个时间列的宽可以设置不,如果不够宽,它就是这样的,得拉一下展开才行


--  作者:有点蓝
--  发布时间:2018/8/20 10:47:00
--  
花点时间熟悉一下帮助呗,不要只顾着埋头苦干


--  作者:susu312
--  发布时间:2018/8/20 11:20:00
--  
以下是引用有点蓝在2018/8/20 10:47:00的发言:
花点时间熟悉一下帮助呗,不要只顾着埋头苦干

谢谢老师提醒