我是做电力的,有个字段是10/5,导出到excel的时候变成了10月5日,我用
Sheet.Cells[jCount + 1, iCount + 1].NumberFormat:='@'; 不行
用Sheet.Cells[jCount + 1, iCount + 1].NumberFormatLocal:='@';也不行
,加单引号也不行,不知道还有没有其他办法。
另外,我想给导出的excel加个标题,比如“XX市XXXX年XX月XX报表”。
以上两个问题希望达人帮忙,分不够我再加。
Sheet.Cells[jCount + 1, iCount + 1].NumberFormat:='@'; 不行
用Sheet.Cells[jCount + 1, iCount + 1].NumberFormatLocal:='@';也不行
,加单引号也不行,不知道还有没有其他办法。
另外,我想给导出的excel加个标题,比如“XX市XXXX年XX月XX报表”。
以上两个问题希望达人帮忙,分不够我再加。
这句话的后半部分是对的,设置为 @ 就是文本格式,
就是不知道其他地方有没问题,自己再仔细检查一下吧。
如果把单元格里的数据类型设置好是不是就不会出现我说的情况了呢?要在程序里控制,怎么控制呢?
你说的:Sheet.Cells[jCount + 1, iCount + 1] := '''' + '10/5';这样不对,要是出现15/5怎么办?
老实说,这个不是除法表达式,是我这个业务里的一个专业词汇,叫互感器的变比
我们可以手动在EXCEL输入10/5,回车,就变成了日期,
这是EXCEL的自动处理,如果你先设置好单元的格式为文本,EXCEL就不会再处理了。所以,我希望你在赋值前已经设置单元的格式为'@', :D
Worksheet.Cells.Item[row,6].NumberFormatLocal:='M/D/YYYY';
Worksheet.Cells.Item[row,6]:=datasource1.DataSet.fields[3].AsString;
Worksheet.Cells.Item[row,5]:='贵州省';