使用颜色代码编写csv文件

我正在从Datatable编写csv文件。 检查下面的代码

public static void SaveDataTableToCsvFile(string AbsolutePathAndFileName, DataTable TheDataTable, params string[] Options) { //variables string separator; if (Options.Length > 0) { separator = Options[0]; } else { separator = ""; //default } string quote = ""; FileInfo info = new FileInfo(AbsolutePathAndFileName); if (IsFileLocked(info)) { MessageBox.Show("File is in use, please close the file"); return; } //create CSV file StreamWriter sw = new StreamWriter(AbsolutePathAndFileName); //write header line int iColCount = TheDataTable.Columns.Count; for (int i = 0; i < iColCount; i++) { sw.Write(TheDataTable.Columns[i]); if (i < iColCount - 1) { sw.Write(separator); } } sw.Write(sw.NewLine); //write rows foreach (DataRow dr in TheDataTable.Rows) { for (int i = 0; i < iColCount; i++) { if (!Convert.IsDBNull(dr[i])) { string data = dr[i].ToString(); data = data.Replace("\"", "\\\"").Replace(",", " "); sw.Write(quote + data + quote); } if (i < iColCount - 1) { sw.Write(separator); } } sw.Write(sw.NewLine); } sw.Close(); } 

代码适用于我,但我需要在csv的某些单元格中添加颜色代码。

我怎样才能做到这一点 ?

CSV是纯数据格式,没有任何格式。 毕竟这是一个纯文本文件。 所以不,没有办法添加颜色。

CSV(逗号加密值)文件是文本文件。 如果不将文件更改为其他文件格式(例如RTF),则无法为文件添加颜色。

乔伊是绝对正确的。

但是如果您的情况允许您输出XLSX而不是CSV,那么EPPlus可能是您的解决方案。

例如

 using (ExcelPackage ep = new ExcelPackage(AbsolutePathAndFileName)) { ExcelWorksheet worksheet = ep.Workbook.Worksheets.Add("Worksheet1"); worksheet.Cells["A1"].LoadFromDataTable(TheDataTable, true); worksheet.Cells["F4"].BackgroundColor.SetColor(Color.Red); ep.Save(); } 

您可能希望使用某个外部实用程序输出.xls(或等效的)而不是.csv或将csv转换为.xls以便甚至可以进行颜色编码