首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用c#将数据表导出到Excel时格式化表格

使用C#将数据表导出到Excel时,可以通过使用第三方库来实现。其中比较常用的库有NPOI、EPPlus和ClosedXML。

  1. NPOI(https://github.com/tonyqus/npoi)是一个开源的.NET库,用于处理Microsoft Office格式文件。它支持读写Excel、Word和PowerPoint文件。使用NPOI,可以通过以下步骤将数据表导出到Excel并格式化表格:

a. 引用NPOI库,并添加命名空间using NPOI.HSSF.UserModel和using NPOI.SS.UserModel。

b. 创建一个Workbook对象,例如HSSFWorkbook或XSSFWorkbook,用于表示Excel文件。

c. 创建一个Sheet对象,用于表示Excel文件中的一个工作表。

d. 创建行和单元格对象,并将数据填充到单元格中。

e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。

f. 将Workbook对象保存为Excel文件。

以下是一个示例代码:

代码语言:csharp
复制

using NPOI.HSSF.UserModel;

using NPOI.SS.UserModel;

using System.IO;

// 创建Workbook对象

IWorkbook workbook = new HSSFWorkbook();

// 创建Sheet对象

ISheet sheet = workbook.CreateSheet("Sheet1");

// 创建行和单元格对象,并填充数据

for (int i = 0; i < dataTable.Rows.Count; i++)

{

代码语言:txt
复制
   IRow row = sheet.CreateRow(i);
代码语言:txt
复制
   for (int j = 0; j < dataTable.Columns.Count; j++)
代码语言:txt
复制
   {
代码语言:txt
复制
       ICell cell = row.CreateCell(j);
代码语言:txt
复制
       cell.SetCellValue(dataTable.Rows[i][j].ToString());
代码语言:txt
复制
   }

}

// 设置单元格样式

ICellStyle style = workbook.CreateCellStyle();

style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;

style.FillPattern = FillPattern.SolidForeground;

// 其他样式设置...

// 应用样式到单元格

for (int i = 0; i < dataTable.Rows.Count; i++)

{

代码语言:txt
复制
   IRow row = sheet.GetRow(i);
代码语言:txt
复制
   for (int j = 0; j < dataTable.Columns.Count; j++)
代码语言:txt
复制
   {
代码语言:txt
复制
       ICell cell = row.GetCell(j);
代码语言:txt
复制
       cell.CellStyle = style;
代码语言:txt
复制
   }

}

// 保存为Excel文件

using (FileStream fs = new FileStream("output.xls", FileMode.Create))

{

代码语言:txt
复制
   workbook.Write(fs);

}

代码语言:txt
复制
  1. EPPlus(https://github.com/EPPlusSoftware/EPPlus)是另一个流行的开源.NET库,用于处理Excel文件。它提供了更简单的API,支持读写Excel文件,并且支持更多的Excel功能。使用EPPlus,可以通过以下步骤将数据表导出到Excel并格式化表格:

a. 引用EPPlus库,并添加命名空间using OfficeOpenXml。

b. 创建一个ExcelPackage对象,用于表示Excel文件。

c. 创建一个工作表对象,并设置工作表名称。

d. 创建行和单元格对象,并将数据填充到单元格中。

e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。

f. 将ExcelPackage对象保存为Excel文件。

以下是一个示例代码:

代码语言:csharp
复制

using OfficeOpenXml;

using System.IO;

// 创建ExcelPackage对象

using (ExcelPackage package = new ExcelPackage())

{

代码语言:txt
复制
   // 创建工作表对象
代码语言:txt
复制
   ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
代码语言:txt
复制
   // 创建行和单元格对象,并填充数据
代码语言:txt
复制
   for (int i = 0; i < dataTable.Rows.Count; i++)
代码语言:txt
复制
   {
代码语言:txt
复制
       for (int j = 0; j < dataTable.Columns.Count; j++)
代码语言:txt
复制
       {
代码语言:txt
复制
           worksheet.Cells[i + 1, j + 1].Value = dataTable.Rows[i][j].ToString();
代码语言:txt
复制
       }
代码语言:txt
复制
   }
代码语言:txt
复制
   // 设置单元格样式
代码语言:txt
复制
   using (ExcelRange range = worksheet.Cells[1, 1, dataTable.Rows.Count, dataTable.Columns.Count])
代码语言:txt
复制
   {
代码语言:txt
复制
       range.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
代码语言:txt
复制
       range.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.Yellow);
代码语言:txt
复制
       // 其他样式设置...
代码语言:txt
复制
   }
代码语言:txt
复制
   // 保存为Excel文件
代码语言:txt
复制
   FileInfo file = new FileInfo("output.xlsx");
代码语言:txt
复制
   package.SaveAs(file);

}

代码语言:txt
复制
  1. ClosedXML(https://github.com/ClosedXML/ClosedXML)是另一个.NET库,用于创建、读取和操作Excel文件。它提供了简单易用的API,并且支持大部分Excel功能。使用ClosedXML,可以通过以下步骤将数据表导出到Excel并格式化表格:

a. 引用ClosedXML库,并添加命名空间using ClosedXML.Excel。

b. 创建一个Workbook对象,用于表示Excel文件。

c. 创建一个Worksheet对象,并设置工作表名称。

d. 创建行和单元格对象,并将数据填充到单元格中。

e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。

f. 将Workbook对象保存为Excel文件。

以下是一个示例代码:

代码语言:csharp
复制

using ClosedXML.Excel;

using System.IO;

// 创建Workbook对象

using (XLWorkbook workbook = new XLWorkbook())

{

代码语言:txt
复制
   // 创建Worksheet对象
代码语言:txt
复制
   IXLWorksheet worksheet = workbook.Worksheets.Add("Sheet1");
代码语言:txt
复制
   // 创建行和单元格对象,并填充数据
代码语言:txt
复制
   for (int i = 0; i < dataTable.Rows.Count; i++)
代码语言:txt
复制
   {
代码语言:txt
复制
       for (int j = 0; j < dataTable.Columns.Count; j++)
代码语言:txt
复制
       {
代码语言:txt
复制
           worksheet.Cell(i + 1, j + 1).Value = dataTable.Rows[i][j].ToString();
代码语言:txt
复制
       }
代码语言:txt
复制
   }
代码语言:txt
复制
   // 设置单元格样式
代码语言:txt
复制
   worksheet.RangeUsed().Style.Fill.BackgroundColor = XLColor.Yellow;
代码语言:txt
复制
   // 其他样式设置...
代码语言:txt
复制
   // 保存为Excel文件
代码语言:txt
复制
   workbook.SaveAs("output.xlsx");

}

代码语言:txt
复制

以上是使用C#将数据表导出到Excel时格式化表格的方法。根据具体需求和使用习惯,可以选择适合的第三方库来实现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分37秒

Golang 开源 Excelize 基础库教程 1.1 Excelize 简介

3.1K
7分25秒

Golang 开源 Excelize 基础库教程 1.2 Go 语言开发环境搭建与安装

2K
11分37秒

Golang 开源 Excelize 基础库教程 2.1 单元格赋值、样式设置与图片图表的综合应用

388
13分24秒

Golang 开源 Excelize 基础库教程 2.3 CSV 转 XLSX、行高列宽和富文本设置

1.5K
9分1秒

Golang 开源 Excelize 基础库教程 2.5 迷你图、页眉页脚、隐藏与保护工作表

355
7分34秒

Golang 开源 Excelize 基础库教程 3.1 流式生成包含大规模数据的电子表格文档

2.1K
9分33秒

Golang 开源 Excelize 基础库教程 1.3 基本概念

1.3K
6分12秒

Golang 开源 Excelize 基础库教程 2.2 条件格式、批注和数据验证设置

394
8分28秒

Golang 开源 Excelize 基础库教程 2.4 数据透视表、形状、公式和文档属性设置

2.2K
8分15秒

Golang 开源 Excelize 基础库教程 2.6 读取工作簿、工作表、图片与公式计算

1.3K
领券