如何在写入CSV文件时格式化文本

时间:2013-06-20 21:09:54

标签: c# visual-studio-2010 excel csv

我有一大堆代码负责编写.CSV文件,但格式化很可怕。我想知道是否有一个命令或字符串我可以发送到CSV以表示它应该为所有单元格加粗第一行文本和中心文本。这可能吗?

 StreamWriter sw = null;
 try
 {
     this.SetStatus(DataLogUIStrings.strSavingToCSVFile);
     sw = new StreamWriter(exportFileName, this.appendExport);
     //first row of CSV
     sw.WriteLine("Start Time,End Time,Date,JobID,,Alarm Count");
     foreach (SJob job in jobsToExport)
     {
         //rest of CSV rows
         sw.WriteLine(job.GetJobInformation().Replace(',', '\t'));
     }
     this.SetStatus(string.Format(DataLogUIStrings.strJobsExported, jobsToExport.Count));
 }
 catch
 {
  ...
 }

我的搜索没有任何结果,我希望有一些excel公式命令,所以字符串可能只是"BOLD(Start Time,End Time,...)";如果没有让我知道任何可以通过打开Excel工作表完成此任务的替代品并手动格式化(因为软件每天大约生成24个)

5 个答案:

答案 0 :(得分:6)

使用CSV时,没有文本格式选项。它只是纯文本(或值)。

如果要使用excel单元格进行格式化 - 将其另存为xls或xlsx!

答案 1 :(得分:1)

没有。 CSV是一种传输纯文本的方式。除了接收应用程序选择解释的内容之外,它没有格式化。

也许你可以编写一个小的VBA应用来进行导入并按摩结果?

答案 2 :(得分:1)

虽然csv是纯文本(因此没有格式化),但有一些非常好的C#excel库。如果您要查看/使用Excel,我建议您检查一些Excel导出库。

查看这个问题/答案:https://stackoverflow.com/a/2603625/2435543

答案 3 :(得分:0)

您没有编写CSV文件。您正在将逗号分隔的字符串转换为以制表符分隔的字符串 - 并且执行得很差(不遵守转义序列)。所以你写的文件可能是tsv,或者只是胡言乱语。

其次,CSV和TSV只是存储格式。与HTML或XLSX或DOCX不同,CSV和TSV不包含格式化指令。

选择允许数据存储和格式化的格式。

答案 4 :(得分:0)

虽然您无法将格式添加到csv文件,但您可以将数据保存为html表并使用File / Open导入Excel。您可以使用大多数html格式,包括css样式。