C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空

  今天在做一个Excel导入功能,一切开发就绪,数据可以成功导入。导入后检查数据库发现有一列既有汉字又有数字,数字正常导入,汉字为空。但是前面同样既有汉字又有数字的列可以导入成功。

  查看excel 源文件,如下图:

  C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空_第1张图片

  仔细观察两列略有不同,前两列的数字单元格左上角有个绿色三角形,选中单元格,左边有一个信息显示“ 次单元格中的数字为文本形式,或者前面有撇号。 ”,也就是 “ 以文本形式存储的数字 ”。

  然后尝试选中内容列,右键设置单元格格式为“ 文本 ”,修改后如下图:

  C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空_第2张图片

  再次导入仍然失败,单元格左上角没有绿色三角形,查阅得知需在内容前加半个英文格式的单引号即" ' ",或者双击双击设为文本格式的单元格。如下图:

   C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空_第3张图片

  再次导入,成功。。。

整列修改数字列为“ 以文本形式存储的数字 ”:

解决方案:(可先直接执行第4步,若可以成功则省略前3步)

1、选择工作表中任意一个单元格,比如选择C5单元格,在该单元格中输入'1。
2、选定C5单元格,单击“开始”选项卡→“剪贴板”组下的“格式刷”按钮,此时鼠标变成小刷子形状。
3、选中A1:A18单元格区域,使用该小刷子去刷该数字区域。
4、选中A1:A18单元格区域,单击“数据”选项卡下“数据工具”组中的“分列”按钮→下一步→下一步→选择“列数据格式”中的“文本”→完成。

 

你可能感兴趣的:(数据库)