superpangya 发表于 2010-4-12 15:44:17

数据从LISTVIEW导出到EXCEL,数据类型的问题,求助

从LISTVIEW导出
#include <ExcelCOM_UDF.au3>
$excnum = _GUICtrlListView_GetItemCount($ListView1)
If $excnum = 0 Then
      MsgBox(64, "提示", "没有记录可被输出.")
Else
      Local $oExcel = _ExcelBookNew(1)
      For $y = 0 To $excnum
                $excret = _GUICtrlListView_GetItemTextString($ListView1, $y)
                $excarray = StringSplit($excret, "|")
                For $x = 0 To $excarray
                        _ExcelWriteCell($oExcel, $excarray[$x], $y + 2, $x)
                Next
      Next
EndIf字段为日期型的记录和位数较长的记录就会显示成这样:


这个是什么原因造成的? 怎么解决?

rence 发表于 2010-4-12 16:19:41

应该是excel格式设置问题,试试在excel里改一下显示格式。

waxy 发表于 2010-4-12 16:21:14

希望强人知道。

superpangya 发表于 2010-4-12 16:42:05

回复 2# rence


    无论是什么格式,只要在EXCEL单元格里双击,就会恢复正常显示...


(EXCEL怎么改格式?选中日期的一列,改格式为日期,然后单元格的显示就成###了.)

kinghu318 发表于 2010-4-12 17:05:11

不太明白,学习下

rence 发表于 2010-4-12 17:19:23

变成###后,再把列宽拉宽点就应该可以了

superpangya 发表于 2010-4-12 17:38:04

列表宽拉长也不成......依然是###########

superpangya 发表于 2010-4-13 08:16:11

:face (34):顶上去...

superpangya 发表于 2010-4-15 08:34:12

:face (17):再顶....

pfvl2008 发表于 2010-6-28 23:06:14

我也遇到这个问题,SQL导出到EXCEL后日期和身份证号码全部不对,大凡大于八位数字的都变成乱码,用命令格式化后八位数的能显示正确,但是日期时间变成全部是数字,没有分隔符,同时身份证号码如果尾数是X的话就显示正常,若没有,如果15位数后出现0的话,后面的数将全部被0代替,急啊,试过很多格式 都不行,望高手指点一下………………{:face (427):}

auto 发表于 2010-6-29 21:46:29

导出前对excle表格设置为文本属性.或在数字前加单引号
页: [1]
查看完整版本: 数据从LISTVIEW导出到EXCEL,数据类型的问题,求助