C# XLS列中的前导零将被删除

C# XLS列中的前导零将被删除,c#,xml,csv,xls,C#,Xml,Csv,Xls,我们使用以下代码生成xml/csv报告文件 代码: objectattachmentxml=attachmentXml; ReportsXml reporstXml=XmlUtils.Deserialize((字符串)attachmentXML); ReportFormatter.Report.ReportFormatter formatter=新建ReportFormatter.Report.ReportFormatter(); MimeTypeEnum mimeType=EnumHelper

我们使用以下代码生成xml/csv报告文件

代码:

objectattachmentxml=attachmentXml;
ReportsXml reporstXml=XmlUtils.Deserialize((字符串)attachmentXML);
ReportFormatter.Report.ReportFormatter formatter=新建ReportFormatter.Report.ReportFormatter();
MimeTypeEnum mimeType=EnumHelper.GetValueFromDescription(reporstXml.Reports[0].ReportType);
字符串fileExtension=mimeType==MimeTypeEnum.XLS?“.xls”:“.csv”;
byte[]report=formatter.formattreport(reporstXml,mimeType);
MemoryStream stream=新的MemoryStream(报告);
FileStream file=newfilestream(HttpContext.Current.Server.MapPath(“/tempuloadfiles/”+文件名+文件扩展名),FileMode.Create,FileAccess.Write);
stream.WriteTo(文件);
file.Close();
stream.Close();
我们的报告文件包含zip code列,当zip code前导为零时,它将在生成文件时被删除

我尝试了一些事情,比如在实际值之前添加
=
\t
,但没有成功。实际上,在值起作用之前添加
,但
在xml文件中,包含我不想要的原始数据


有什么我可以试试的吗?

此代码没有显示答案所需的部分。您应该将邮政编码的类型从数字改为字符串。数字中的前导零将被截断,但不会在字符串中。用记事本打开文件,查看前导零是否在文件中。可能是您正在使用的查看器正在删除零。您好,Jdweng,使用记事本作为查看器导致数据损坏。您好@Emad,邮政编码是XML的一部分,它作为字符串传递给ReportFormatter。我们在格式化XML数据时将其转换为字节,因此无法了解如何处理列的类型。如果您无法控制XML,则您别无选择,只能对XML进行反序列化,更改邮政编码的类型并重新序列化。或者,找到一种将excel文档的列类型指定为文本的方法。我不知道该怎么办
        Object attachmentXml = attachmentXML;
        ReportsXml reporstXml = XmlUtils.Deserialize<ReportsXml>((string)attachmentXML);
        ReportFormatter.Report.ReportFormatter formatter = new ReportFormatter.Report.ReportFormatter();
        MimeTypeEnum mimeType = EnumHelper.GetValueFromDescription<MimeTypeEnum>(reporstXml.Reports[0].ReportType);
        string fileExtension = mimeType == MimeTypeEnum.XLS ? ".xls" : ".csv";
        byte[] report = formatter.FormatReport(reporstXml, mimeType);
        MemoryStream stream = new MemoryStream(report);
        FileStream file = new FileStream(HttpContext.Current.Server.MapPath("/TempUploadFiles/" + fileName + fileExtension), FileMode.Create, FileAccess.Write);
        stream.WriteTo(file);
        file.Close();
        stream.Close();