导出EXCEL时一列内容发生自动转换格式的问题

szm11351578 2006-06-12 11:05:40
一列varchar类型的数据是13位数字,导出到EXCEL时那一列自动转换成了别的格式,数据库数据是6932722369735,导出EXCEL后变成了6.93272E+12,如何在导出后保持6932722369735不变呢?
...全文
442 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwt3000 2006-06-12
  • 打赏
  • 举报
回复
this.Response.Write(myset.Tables[0].Rows[i][c].ToString()+(char)127+" ");
解决你的问题这句是关键
就是在数字后面加(char)127 他就会认为是字符而不是数字类型了
jwt3000 2006-06-12
  • 打赏
  • 举报
回复
中间是TAB
szm11351578 2006-06-12
  • 打赏
  • 举报
回复
楼上的兄弟:
this.Response.Write("客户编号 客户名称 公司性质 联系人 负责人 公司地址 联系电话 传真 邮编 E-mail 网址 最后修订日期 最后修订人\n");
客户编号和客户名称中间是空格吗?

this.Response.Write(myset.Tables[0].Rows[i][c].ToString()+(char)127+" ");
最后那点是什么东东啊?
jwt3000 2006-06-12
  • 打赏
  • 举报
回复
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//
Response.AppendHeader("Content-Disposition","attachment;filename=customers.xls");
this.Page.EnableViewState=false;
this.Response.Write("客户编号 客户名称 公司性质 联系人 负责人 公司地址 联系电话 传真 邮编 E-mail 网址 最后修订日期 最后修订人\n");
for(int i=0;i<=myset.Tables[0].Rows.Count-1;i++)
{ for(int c=0;c<=12;c++)
this.Response.Write(myset.Tables[0].Rows[i][c].ToString()+(char)127+" ");
this.Response.Write("\n");

}
this.Response.End();

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧