导出为XML时,日期的Excel格式不起作用

时间:2013-06-14 20:52:55

标签: excel excel-formula excel-2010 export-to-xml

我创建了一个包含映射文件的Excel。我想要做的是让用户在这里输入数据并按ctrl + E(我创建了一个宏),然后将其导出为XML。这就是问题:当第1行被导出时,它会将其日期和时间格式保存为XML(例如:在XML中,时间将显示为12/01/2013)。但是在该行下输入的任何内容都不会以我想要的格式显示。相反,它将显示为1345464日期。

这件事非常烦人,因为我无法弄清楚我可以做什么来格式化整个Excel文档/列,所以它会将日期和时间显示为文本而不是奇怪的数字。

有人请帮帮我。

3 个答案:

答案 0 :(得分:2)

在VBA中,使用Format函数

date = Format(date, "mm/dd/yyyy")

然后更改存储它的单元格的格式:

Cells(row, col).NumberFormat = "@"

(替换rowcol

的单元格坐标

答案 1 :(得分:2)

我不是专家,但我花了很多时间试图解决这个问题,最终这段代码对我有用

Dim eCell as Range

 For Each eCell In Range("O20:P20")
        If Len(eCell.Value) > 0 Then
          eCell.NumberFormat = "@"
          eCell.Value = CDate(eCell.Value)

        End If
    Next

CDate函数将序列日期转换回正常日期

答案 2 :(得分:1)

哇我感到愚蠢!这比我想象的要容易得多:

步骤1:将开始日期中的日期拖到要填充数据的行。 (对Enddate列执行相同操作)。

enter image description here

步骤2:注意底部的一个小方框(在步骤1之后出现)。展开方框。

enter image description here

步骤3:选择以下选项:仅填充格式。

enter image description here

恭喜!现在尝试输入/粘贴日期。它应该保持在左侧(文本格式)。