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

我正在写一些报告在CSV …所以为了最好的可见性,我必须写入一些数据以粗体和一些数据以不同的颜色写入数据到CSV。我使用下面的代码写入CSV。

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

那么我们该如何格式化呢?

正如其他人指出的,.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")); } } } } 

紧急与否:

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

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

我猜你在说什么是在Excel中formatting ,同时显示.csv文件。 CSV只是一个纯文本文件,大多是comma分隔的。

如果你想format excel,看看Open XML你必须创build一些styles来显示粗体和颜色。这是一个有点痛苦的路线。 如果你想要简单,你可能想看看封闭的XML库。 这个人为你做了所有的辛苦工作,你只需要使用几种方法来完成你的工作。

您可以使用EasyXLS Excel库编写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