首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用颜色代码编写csv文件

使用颜色代码编写csv文件
EN

Stack Overflow用户
提问于 2012-08-22 12:57:11
回答 4查看 27.1K关注 0票数 3

我正在从数据表中写入csv文件。检查我下面的代码

代码语言:javascript
运行
复制
      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的一些单元格中添加颜色代码。

我该怎么做呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-22 12:59:13

CSV是一种没有任何格式化的纯数据格式。它毕竟是一个纯文本文件。所以,没有办法增加色彩。

票数 24
EN

Stack Overflow用户

发布于 2012-08-22 13:15:34

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

票数 2
EN

Stack Overflow用户

发布于 2012-08-22 13:03:28

乔伊是绝对正确的。

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

例如:

代码语言:javascript
运行
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12066511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档