将C#的二维数组List<List<double[]>>转成DataTable类然后序列化导出成excel表格
时间: 2024-12-10 15:32:28 浏览: 20
c#将list类型转换成DataTable方法示例
在C#中,你可以将二维`List<List<double[]>>`类型的数组转换为`DataTable`,然后再将其序列化为Excel文件。以下是步骤:
1. 首先,你需要添加对`System.Data.DataTable`, `System.IO`以及`Microsoft.Office.Interop.Excel`库的引用。如果你是在控制台应用中操作,可以使用NuGet包管理器安装`EPPlus`库,它是一个更轻量级的用于操作Excel文件的选择。
```csharp
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using OfficeOpenXml;
```
2. 然后,创建一个`DataTable`实例,并填充数据:
```csharp
List<List<double[]>> data = ...; // 假设这是你的二维列表
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(double)); // 根据需要添加列名和数据类型
foreach (double[] row in data)
{
DataRow newRow = dataTable.NewRow();
newRow.ItemArray = row;
dataTable.Rows.Add(newRow);
}
```
3. 使用`EPPlus`库将`DataTable`保存为Excel文件:
```csharp
string filePath = "output.xlsx";
using var package = new ExcelPackage(new FileInfo(filePath));
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].LoadFromDataTable(dataTable, true); // Load data into the first cell and expand to fill all rows
package.Save();
```
阅读全文