在 CSV 导出中处理零的不同解决方案
Posted
技术标签:
【中文标题】在 CSV 导出中处理零的不同解决方案【英文标题】:Different Solution for handling zero in CSV Exporting 【发布时间】:2015-05-04 04:53:54 【问题描述】:我正在将我的数据从 asp.net 项目导出为 .csv 格式。当我导出那些开头为零的数字时,通过添加来处理
="0183"
然后在excel中显示为0183。 但问题是当我将这些东西复制到其他文件时,它再次复制为 =“0183”
那么,谁能帮我处理从 C# 编码导出到 .csv 的零开头数字?
【问题讨论】:
你能重新表述一下这个问题吗?0183
的意义是什么?
您能告诉我们您的代码吗?
试过这些吗? ***.com/q/12071963/17447
@naveen :这只是一个以零开头的数字。这个链接也解释了我上面提到的内容。
@BOBINJOSEPH,所以问题在于以前导零开头的数字被视为数字。并且您希望它们被视为字符串,对吗?阅读***.com/q/7437662/17447和***.com/q/17016803/17447和***.com/q/6627301/17447
【参考方案1】:
问题是它的 excel 自动将 csv 转换为字符串。如果您创建一个简单的 CSV 并使用 Open with Excel 在 excel 中打开它,您可以看到该行为。所以第一个也是更简单的选择是创建列类型text
并查看它。
另一种选择是使用正则表达式解析列,然后再将其重新转换为另一种格式。
var inputString = "=\"0813\"";
var match = Regex.Match(inputString, "=\"([^\"]*)\"");
var output = match.Groups.Count > 1 ? match.Groups[1].Value : inputString;
【讨论】:
_ 谢谢。它很有帮助。以上是关于在 CSV 导出中处理零的不同解决方案的主要内容,如果未能解决你的问题,请参考以下文章
linux导出csv在windows下看是乱码?请问如何解决