我正在使用将我的客户端数据导出到CSV的ASP.NET应用程序,我需要我的客户端电话号码与前导零。 我需要的电话号码没有“ - ”且没有引号,并且由于我的应用程序的性质,我不能使用第三方产品,如EPPLUS。 我试图放一个空格,让CSV“理解”我需要电话号码作为文本,但这看起来不正确。数字字段在c中编写CSV时丢失前导零#
我想知道如何使excel包括领先的零,而不使用第三方产品。
感谢
我正在使用将我的客户端数据导出到CSV的ASP.NET应用程序,我需要我的客户端电话号码与前导零。 我需要的电话号码没有“ - ”且没有引号,并且由于我的应用程序的性质,我不能使用第三方产品,如EPPLUS。 我试图放一个空格,让CSV“理解”我需要电话号码作为文本,但这看起来不正确。数字字段在c中编写CSV时丢失前导零#
我想知道如何使excel包括领先的零,而不使用第三方产品。
感谢
更改与下面的格式保存在CSV数据:
="00023423"
CSV例如:
David,Sooo,="00023423",World
这将显示在Excel 00023423,而不是23423.
这会将值转换为*公式*。正确的方法是预先加一个单引号。 –
如果你已经知道有多少数字有在里面的手机,你可以像这样
phoneNumber.ToString("000000000000")
在这个例子中,我认为phoneNumber
是int
和所需的长度的数字是12
。
打印的电话号码,以CSV与预谋'(单引号),所以它看起来像:
"Some Name","'0000121212"
Excel中应该把这个作为0000121212
字符串即可。
感谢您的回答,但它包含了前面的内容... –
好吧,所以请尝试在等号前加双引号,如下所示:''Some Name“,=”'0000121212“ '(无论是单引号还是单引号)。 UPD:我尝试没有内部单引号,它工作正常。 –
我有类似的问题与Excel将其转换为科学格式的长整数类似的问题,当我这样做=“98127398217398213982173918” –
public void CreatingCsvFiles(Client client)
{
string filePath = "Your path of the location" + "filename.csv";
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
}
string delimiter = ",";
string[][] output = new string[][]{
new string[]{ "=\"" + client.phone + "\"", client.name }
};
int length = output.GetLength(0);
StringBuilder sb = new StringBuilder();
for (int index = 0; index < length; index++)
sb.AppendLine(string.Join(delimiter, output[index]));
File.AppendAllText(filePath, sb.ToString());
}
灵感来自http://softwaretipz.com/c-sharp-code-to-create-a-csv-file-and-write-data-into-it/
的重要组成部分:
"=\"" + client.phone + "\"", client.name
如果电话号码是一个int,当然你加的ToString()。
不错,这在csv中按预期工作 – desflan
如何写入CSV? – Tigran
在我的一个应用程序中,我记得预先在单引号前加零字段。只需一个,在值的开始 – Dimitri