我有一个将结果导出为 CSV 文件的应用程序。我使用逗号作为列分隔符,但问题是在输出参数之一中item.SN
,内容还包含逗号来分隔名称;然后文件通过将数据分成不同的部分来创建列。
我该如何解决这个问题?我尝试了几种方法,但我做不到。
提前致谢。
这是我的代码:
foreach (WS.ProjectMetaData proj in pr)
{
string outCsvFile = string.Format(@"C:\\ExportTasksForAllProjects\\{0}.csv", proj.ProjectTitle + DateTime.Now.ToString("_yyyyMMdd HHmms"));
String newLine = "";
var stream = File.CreateText(outCsvFile);
stream.WriteLine("ProjectName,Subject Name, UserID, Task StartDate");
WS.UserData[] userDataId = client.GetUserData(DataSourceId);
List<string> multiUserIDs = new List<string>();
foreach (var userdata in userDataId)
{
multiUserIDs.Add(userdata.List[0].ToString());
}
string temp = "";
var AllProjectIds = proj.ProjectID;
string[] projectIDs = new string[] { AllProjectIds }; // all projects
WS.TaskEntry[] resultGT3 = client.GetTasks3(projectIDs, multiUserIDs.ToArray());
foreach (var item in resultGT3)
{
newLine = item.ProjectTitle + "," +
item.SN + "," + //Aqui el SN contiene commas entonces se separa en diferentes columnas
item.UserID + "," +
item.StartDate;
stream.WriteLine(newLine);
}
stream.Close();
}
当您有包含逗号的值时,您必须用引号将其分隔
"
(重要的是,如果您是在 Excel 中打开文件,则字段之间不能有任何空格,即
"uno","dos"
no"uno", "dos"
)因此,如果您为所有值执行此操作会更容易
如果我们不参考一个规格
csv
逗号分隔值
在标题“基本规则”中描述
您应该遵循标准的规则来生成您的文件。
既然你有你的代码,你可以添加引号,以保持规范:
任何一个
例如你会得到:
命名空间 WsConsultaExamen { 公共类 ConsultModel { 公共字符串 C40FUM { 获取;放; } 公共字符串 C40NID { 获取;放; } 公共字符串 C40TID { 获取;放; } 公共字符串 C40DIG { 获取;放; } 公共字符串 C40NIP { 获取;放; } 公共字符串 C40FCC { 获取;放; } 公共字符串 C40NOM { 获取;放; } 公共字符串 C40TNO { 获取;放; } 公共字符串 C40GRF { 获取;放; } 公共字符串 C40FIN { 获取;放; } 公共字符串 C40LNE { 获取;放; } 公共字符串 C40FPI { 获取;放; } 公共字符串 C40TRF { 获取;放; } 公共字符串 C40GER { 获取;放; } 公共字符串 C40AUC { 获取;放; } 公共字符串 C40CLP { 获取;放; } 公共字符串 C40SUC { 获取;放; }
}