如何使用c#以不同的颜色,大小,字体,粗体和斜体格式在excel或csv中写入数据

时间:2015-04-21 05:38:17

标签: c# excel csv

我正在csv中编写一些报告...所以为了获得最佳可见性,我必须以粗体样式编写一些数据,并将一些数据以不同颜色写入csv中,然后使用下面的代码在csv中编写。

        FileInfo outtxt = new FileInfo(filename);
        //  StreamWriter logline = outtxt.AppendText();
        // initialiseStream();
        StreamWriter logline = new StreamWriter(fs);
        if (f == 0)
        {
            logline.WriteLine("sometext");             
        }

那么我们如何格式化呢。

4 个答案:

答案 0 :(得分:3)

是否紧急:

.csv(逗号分隔值)是文本文本文件,它包含以,;分隔的字段。

不可能在这些文件中包含任何格式。

答案 1 :(得分:2)

正如其他人所指出的,.csv只是一个简单的文本文件,但您可以使用nuget中提供的其他库生成.xlsx文件。

在我看来Epplus是一个非常容易使用的例子。

如果您安装此软件包,那么以下内容应该为您提供一个可用于入门的示例:

using OfficeOpenXml;
using OfficeOpenXml.Style;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ExcelPackage package = new ExcelPackage())
            {
                ExcelWorksheet ws = package.Workbook.Worksheets.Add("MySheet");

                ws.Cells["A1"].Value = "Some Bold Text";
                ws.Cells["A1"].Style.Font.Bold = true;
                ws.Cells["A2"].Value = "Some blue text";
                ws.Cells["A2"].Style.Font.Color.SetColor(Color.Blue);
                ws.Cells["A3"].Value = "Some Large Text";
                ws.Cells["A3"].Style.Font.Size = 22;

                ws.Cells["A3"].Style.Border.BorderAround(ExcelBorderStyle.Thin, Color.Red);

                ws.Row(3).Height = 23;
                ws.Column(1).AutoFit();

                package.SaveAs(new System.IO.FileInfo(@"C:\Temp\example.xlsx"));
            }
        }
    }
}

答案 2 :(得分:0)

我想在显示.csv文件时,你在excel中讨论的是formatting。 CSV只是一个纯文本文件,大多数comma分开。

如果您希望format出类拔萃,请查看Open XML 你必须创建一些styles以粗体和颜色显示。这有点痛苦的路线。如果您想要轻松,您可能需要查看Closed XML库。这个为你完成所有艰苦的工作,你只需要用几种方法来完成你的工作。

答案 3 :(得分:0)

您可以使用EasyXLS Excel library同时编写Excel或CSV文件,但CSV文件不能包含格式,因为它只是纯文本文件格式。

要编写Excel文件,请使用以下代码示例:

ExcelDocument workbook = new ExcelDocument(1);
ExcelTable tableData = ((ExcelWorksheet)workbook.easy_getSheetAt(0)).easy_getExcelTable();
tableData.easy_getCell(0,0).setValue("sometext");
workbook.easy_WriteXLSFile(filename);

要格式化单元格,请使用以下示例代码:

ExcelStyle xlsStyle = new ExcelStyle();
xlsStyle.setBold(true);
xlsStyle.setForeground(Color.DarkGray);
tableData.easy_getCell(0,0).setStyle(xlsStyle);

有关格式化的更多详细信息,请检查此链接:
http://www.easyxls.com/manual/basics/format-excel-cells.html