| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3092 人关注过本帖
标题:datetable数据导入到excel中。时间格式数据出现######
只看楼主 加入收藏
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
结帖率:100%
收藏
 问题点数:0 回复次数:6 
datetable数据导入到excel中。时间格式数据出现######
这一段代码:
DataTable dtMRCallBack;
  ......
string str = dtMRCallBack.Rows[i][j].ToString();
wSheet.Cells[1, 1 + i] = str;

问题:当str数据是 "2017-01-15"时。导入到excel会被转换成"2017/1/15";而且会出现######。我想数据仍是"2017-01-15"要怎么做?
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 数据 导入 excel 出现 str 
2018-05-17 11:00
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
收藏
得分:0 
我搜索了资料有两种办法,一种是
Microsoft.Office.Interop.Excel.Range range = (Microsoft.Office.Interop.Excel.Range)wSheet.Cells[1,5];//列5
range.NumberFormat = Microsoft.Office.Interop.Excel.XlParameterDataType.xlParamTypeUnknown;
另一种是:

wSheet.Cells[i + 2, j + 1] = str;  改成
wSheet.Cells[i + 2, j + 1] = “'” + str;
第二种好的一点是不转换为日期格式,而是按照自己想要的格式规范。比如我想要2018-1-15;并不会转成2018/1/15;
2018-05-17 21:13
eiceblue
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-6-15
收藏
得分:0 
用个第三方控件辅助试试看,Spire.Xls.dll这个类库来导数据到Excel不错,可以参考https://www.
2018-06-15 16:43
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
用这个试试: range.EntireColumn.AutoFit();

来找我试试看
2018-06-20 09:57
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
收藏
得分:0 
回复 3楼 eiceblue
谢谢,我试试你这个
2018-07-02 10:25
man94ht
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:4
帖 子:20
专家分:0
注 册:2017-5-7
收藏
得分:0 
回复 4楼 pengzhanggui
好的,我了解下
2018-07-02 10:29
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:0 
出现######,是该列数据位数不足,只要把该列宽度加宽一点就行了。至于该列的数据格式,可以在excel列设置,也可以编程设置,简单的话在excel指定该列格式
2018-07-13 10:18
快速回复:datetable数据导入到excel中。时间格式数据出现######
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016009 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved