在 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 导出中处理零的不同解决方案的主要内容,如果未能解决你的问题,请参考以下文章

以批处理模式从 Mainframe DB2 导出 CSV

使用vba在excel中复制带有前导零的数字文本

linux导出csv在windows下看是乱码?请问如何解决

在 iOS 上将数据导出到 XLS(不是通过 CSV)

JAVA在Windows使用apache commons-csv导出CSV解决方案

hive表数据导出到csv乱码原因及解决方案