下面是详细讲解C#实现将数据导出到word或者Excel中的方法的完整攻略。
导出数据到Excel
安装NPOI
使用NPOI实现将数据导出到Excel,首先需要安装NPOI。可以使用NuGet来安装,打开Visual Studio,右键项目,选择“管理 NuGet 程序包”,在搜索框中输入“NPOI”,选择官方版本进行安装。
创建工作簿和工作表
在项目中添加必要的引用:
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
接下来,创建工作簿和工作表:
var workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
填充数据
填充数据需要遍历数据源,比如一个名为dataList
的列表:
var rowIndex = 0;
foreach(var data in dataList)
{
var row = sheet.CreateRow(rowIndex);
row.CreateCell(0).SetCellValue(data.Name);
row.CreateCell(1).SetCellValue(data.Age);
rowIndex++;
}
保存文件
最后一步是将工作簿保存到Excel文件:
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
workbook.Write(fileStream);
}
这样,数据就被成功地导出到了Excel文件。
导出数据到Word
安装Spire.Doc
使用Spire.Doc实现将数据导出到Word,同样需要先安装Spire.Doc。同样可以使用NuGet来引入依赖。在NuGet管理器中搜索“Spire.Doc”,选择安装该包。
创建文档
在项目中添加必要的引用:
using Spire.Doc;
using Spire.Doc.Documents;
接下来,创建文档:
var doc = new Document();
创建表格
创建表格,添加行和单元格:
var table = doc.AddSection().AddTable(true);
var row = table.AddRow();
row.Cells[0].AddParagraph().AppendText("First Name");
row.Cells[1].AddParagraph().AppendText("Last Name");
row.Cells[2].AddParagraph().AppendText("Age");
填充数据
再次遍历数据源,填充表格中的数据:
foreach(var data in dataList)
{
var row = table.AddRow();
row.Cells[0].AddParagraph().AppendText(data.FirstName);
row.Cells[1].AddParagraph().AppendText(data.LastName);
row.Cells[2].AddParagraph().AppendText(data.Age);
}
保存文件
最后一步是将文档保存为Word文件:
doc.SaveToFile(filePath, FileFormat.Docx);
这样,数据就被成功地导出到了Word文件。
示例
下面是完整的示例代码,包括将数据导出到Excel和Word两个示例:
using System.Collections.Generic;
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using Spire.Doc;
using Spire.Doc.Documents;
namespace DataExporter
{
public class DataExporter
{
public void ExportToExcel(List<Data> dataList)
{
var filePath = @"C:\temp\data.xls";
var workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
var rowIndex = 0;
foreach(var data in dataList)
{
var row = sheet.CreateRow(rowIndex);
row.CreateCell(0).SetCellValue(data.Name);
row.CreateCell(1).SetCellValue(data.Age);
rowIndex++;
}
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
workbook.Write(fileStream);
}
}
public void ExportToWord(List<Data> dataList)
{
var filePath = @"C:\temp\data.docx";
var doc = new Document();
var table = doc.AddSection().AddTable(true);
var row = table.AddRow();
row.Cells[0].AddParagraph().AppendText("First Name");
row.Cells[1].AddParagraph().AppendText("Last Name");
row.Cells[2].AddParagraph().AppendText("Age");
foreach(var data in dataList)
{
var row = table.AddRow();
row.Cells[0].AddParagraph().AppendText(data.FirstName);
row.Cells[1].AddParagraph().AppendText(data.LastName);
row.Cells[2].AddParagraph().AppendText(data.Age);
}
doc.SaveToFile(filePath, FileFormat.Docx);
}
}
public class Data
{
public string Name {get;set;}
public int Age {get;set;}
public string FirstName {get;set;}
public string LastName {get;set;}
}
}
以上就是将数据导出到Excel和Word文件的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现将数据导出到word或者Excel中的方法 - Python技术站