优秀的编程知识分享平台

网站首页 > 技术文章 正文

C# 导出 Excel 数字列出现‘0’的解决办法

nanyue 2024-09-21 19:56:40 技术文章 8 ℃

在使用旧版本DataGird的中某一列全是数字并且长度大于15的字符,如身份证号码,在导出excel时数字列第15-18位全部为0。

原因:数字列最大长度已经超出限制,所以后面自动补0。

解决办法:在需导出数字列前加入英文字符状态的单引号(‘ ),

如:

<asp:TemplateField HeaderText="身份证号码" Visible="false">
  <ItemTemplate>
      <center>'<%# Eval("UserIdentityCard")%></center>
</ItemTemplate>
</asp:TemplateField>

,导出之后自动转换为文本格式。

在excel中数字前的单引号会自动转换成文本格式。


如果是已导出的execl,怎么将18位数字后3位自动变为0:

步骤1:单击“数据”菜单,“获取外部数据”组的“自文本”按钮,选择系统导出的*.csv格式的文件,再单击“导入”按钮

步骤2:在文本导入向导对话框中单击“下一步”。

步骤3:“分隔符号”勾选“逗号”,再单击“下一步”

步骤4:选择“号码”列,再选择“列数据格式”中的“文本”,再单击“完成”按钮

步骤5:选择要存放数据的单元格(可以是新工作表或现有工作表,本例以现有工作表为例),选择“现有工作表”,鼠标点一下框中,再选择A1单元格,Excel会自动在框中输入单元格地址(也可以手动输入),再单击“确定”按钮

通过上述操作后,导入的数据最后3位不会变为0

Tags:

最近发表
标签列表