当前位置:首页 > 行业动态 > 正文

c# 导出excel

C#中,可以使用EPPlus库导出Excel文件。首先安装EPPlus库,然后使用以下代码:,,“ csharp,using OfficeOpenXml;,,// ...,,var package = new ExcelPackage();,// 添加工作表、设置单元格值等操作,package.SaveAs(new FileInfo("导出的文件路径.xlsx"));,

C中控制导出Excel,Excel样式的设置下载

在C编程中,我们经常需要将数据导出到Excel文件中以便于查看和分析,本文将介绍如何使用C控制导出Excel,并详细讲解Excel样式的设置以及下载功能的实现。

使用C的NPOI库操作Excel

我们需要安装NPOI库,它是一个用于操作Microsoft Office文档的.NET库,在Visual Studio中,可以通过NuGet包管理器来安装NPOI库。

创建Excel文件并设置样式

1、添加引用

在项目中添加对NPOI库的引用:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

2、创建Excel文件并设置样式

// 创建一个新的工作簿
IWorkbook workbook = new XSSFWorkbook();
// 创建一个新的工作表
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建一个字体对象并设置字体样式
Font font = workbook.CreateFont();
font.FontName = "宋体";
font.FontHeightInPoints = 12;
font.Boldweight = (short)FontBoldWeight.BOLD;
font.Italic = true;
font.Color = IndexedColors.RED.Index;
// 创建一个单元格样式对象并设置字体样式
ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.SetFont(font);
cellStyle.FillForegroundColor = IndexedColors.YELLOW.Index;
cellStyle.FillPattern = FillPatternType.SOLID_FOREGROUND;
cellStyle.BorderBottom = BorderStyle.THICK;
cellStyle.BorderLeft = BorderStyle.THICK;
cellStyle.BorderRight = BorderStyle.THICK;
cellStyle.BorderTop = BorderStyle.THICK;
cellStyle.Alignment = HorizontalAlignment.CENTER;
cellStyle.VerticalAlignment = VerticalAlignment.CENTER;

3、填充数据并应用样式

// 创建一个行对象并设置样式
IRow row = sheet.CreateRow(0);
row.SetCellValue("姓名");
row.Cells[0].CellStyle = cellStyle;
row.Cells[0].CellStyle.WrapText = true; // 自动换行
row.Cells[0].CellStyle.Alignment = HorizontalAlignment.CENTER; // 水平居中对齐
row = sheet.CreateRow(1);
row.SetCellValue("年龄");
row.Cells[0].CellStyle = cellStyle;
row.Cells[0].CellStyle.WrapText = true; // 自动换行
row.Cells[0].CellStyle.Alignment = HorizontalAlignment.CENTER; // 水平居中对齐
row = sheet.CreateRow(2);
row.SetCellValue("性别");
row.Cells[0].CellStyle = cellStyle;
row.Cells[0].CellStyle.WrapText = true; // 自动换行
row.Cells[0].CellStyle.Alignment = HorizontalAlignment.CENTER; // 水平居中对齐

4、将工作簿保存为文件并释放资源

string filePath = "D:\test.xlsx"; // 保存文件的路径
FileStream fs = new FileStream(filePath, FileMode.Create); // 创建文件流以写入数据到文件中
workbook.Write(fs); // 将工作簿写入文件流中
fs.Close(); // 关闭文件流并释放资源
workbook.Dispose(); // 释放工作簿资源

实现下载功能

在上述代码中,我们已经实现了将数据导出到Excel文件中的功能,接下来,我们需要实现下载功能,这里我们使用ASP.NET Web应用程序作为示例,在Web应用程序中,我们可以使用Response对象来实现文件下载,以下是一个简单的示例:

public ActionResult DownloadExcel()
{
    string filePath = "D:\test.xlsx"; // 保存文件的路径,与导出Excel时相同
    Response.Clear(); // 清空响应内容,以便重新设置响应头信息和状态码等参数
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; // 设置响应内容类型为Excel文件格式
    Response.AddHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(filePath)); // 设置响应头信息,使浏览器能够弹出“另存为”对话框并选择保存位置及文件名,同时指定文件类型为Excel文件格式(如:test.xlsx)
0