以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]excel导出模板日期列设置格式  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=37133)

--  作者:xu3180497
--  发布时间:2013/7/1 10:43:00
--  [求助]excel导出模板日期列设置格式

现在有个表,其中有两列是起始日期和截止日期,需要将这个表导出到excel中,excel中关于这两列起始日期和截止日期的值统一为一列,名字是起止日期。如果表中起始日期和截止日期都是相同的,如2012-08-19,那么excel的起止日期列取值就是表中起始日期的值即2012-08-19。如果起始日期和截止日期不同的的话,比如起始日期2012-08-19,截止日期2012-09-23,那么excel的起止日期就取2012-08-19-2012-09-23。现在问题就是我想将日期格式设置为YYYY.MM.DD而不是YYYY-MM-DD。因为如果起始日期和截止日期不同的话,2012-08-19-2012-09-23这样就不好看,改成2012.08.19-2012.09.23就很清晰了,请问有什么好的办法?

excel起止日期列现在的格式是:

<IIF([检修起始日期] = [检修截止日期], [检修起始日期],[检修起始日期] & "-" & [检修截止日期])>

另外我在导出代码中对单一日期格式的也进行了格式的设定,如下:

    Dim Book As New XLS.Book(ProjectPath & "模板\\检修记录.xlsx")
    Dim Sheet As XLS.Sheet
    Dim Style As XLS.Style
    Dim count As Integer
    Book.Build() \'生成细节区
    Sheet = Book.Sheets(0)
    Style = Book.NewStyle
    Style.Format = "yyyy.MM.dd"
    count = Sheet.Rows.Count
    For i As Integer = 3 To count -1
        Sheet(i,1).Style = Style
    Next

请问怎么控制像2012-08-19-2012-09-23导出后在excel显示的格式?


--  作者:Bin
--  发布时间:2013/7/1 10:45:00
--  
能否上个例子?
--  作者:xu3180497
--  发布时间:2013/7/1 11:16:00
--  

这是导出excel的模板:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:检修记录.xlsx

这是foxtable设计和代码:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:检修记录.table

麻烦帮我的导入功能也看下。怎么将起止日期中的起始日期和截止日期拆开导入到表中,导出就是怎么将表中的起始日期和截止日期合并按照要求的格式导出到excel中。
--  作者:Bin
--  发布时间:2013/7/1 11:32:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:检修记录.xls



使用2003文件格式 其他格式兼容不好, 然后把单元格设置为日期格式就好了.

--  作者:xu3180497
--  发布时间:2013/7/1 12:48:00
--  
呵呵  看你你没太明白我的意思,我自己再想想吧。
--  作者:Bin
--  发布时间:2013/7/1 14:04:00
--  
你不是想这样吗?


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


--  作者:xu3180497
--  发布时间:2013/7/1 14:13:00
--  

这样也行,怎么解决的?是通过修改excel格式实现的?


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130701141104.png
图片点击可在新窗口打开查看
还有一个问题,就是虽然excel显示的是2012.02.23但是传到后台即Sheet(?,?).Value还是2012-2-23不知道怎么去解决这个问题呢?这样我根据“-”去使用split函数拆分日期就不行啊。请指教!

[此贴子已经被作者于2013-7-1 14:16:15编辑过]

--  作者:Bin
--  发布时间:2013/7/1 14:18:00
--  
你的问题是什么.我没看懂.  这不是符合你要求了吗?

你的意思是说  两个日期的列靠左排列了?  那你设置一下Excel单元格不就好了吗?

--  作者:xu3180497
--  发布时间:2013/7/1 14:26:00
--  

我下了你的模板,结果还是不行啊,还是跟原来一样啊,我的意思是:

1、你是怎么将2012-02-03-2012-02-23这样的日期格式转换成2012/2/3-2012/2/23这样的格式的。

2、转换成上面那样的格式后,是显示是这样的的格式还是内容就是这样?我从后台读取到的sheet的值还是2012-02-03这样格式的值而不是转换后2012/2/3这样的值,怎么解决?

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130701142705.png
图片点击可在新窗口打开查看
怎么转换成2012/2/3-2012/2/23这样的格式?

 

[此贴子已经被作者于2013-7-1 14:27:31编辑过]

--  作者:Bin
--  发布时间:2013/7/1 14:28:00
--  
这个和你系统日期格式有关.要不你全部当字符串处理.就简便很多了.