帮我用C#在form窗体写一个方法,传入dataset,路径; 可下载导出excel。要求不需要许可。
时间: 2024-10-06 11:03:40 浏览: 18
要在C# Form窗体上编写一个无许可限制的Excel导出方法,可以使用开源的EPPlus库,它支持无版权使用。首先,确保已安装EPPlus NuGet包。以下是代码示例,说明如何创建并导出DataSet到Excel文件:
```csharp
using System.Data;
using OfficeOpenXml;
public partial class YourForm : Form
{
public void ExportToExcelWithoutLicense(DataSet dataSet, string filePath)
{
using (var package = new ExcelPackage(new FileInfo(filePath)))
{
// 创建一个新的工作表
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 获取DataSet中的数据列信息
foreach (DataTable table in dataSet.Tables)
{
for (int i = 0; i < table.Columns.Count; i++)
{
worksheet.Cells[1, i + 1].Value = table.Columns[i].ColumnName; // 设置列标题
}
int row = 2; // 初始行号
// 将DataTable的数据写入Excel
foreach (DataRow rowItem in table.Rows)
{
for (int j = 0; j < table.Columns.Count; j++)
{
worksheet.Cells[row, j + 1].LoadFromRecord(rowItem); // 写入单元格值
}
row++;
}
}
// 保存Excel文件
package.Save();
}
}
}
// 使用方法
private void exportButton_Click(object sender, EventArgs e)
{
DataSet dataSet = // 初始化你的DataSet
string filePath = "C:\\Temp\\Output.xlsx";
ExportToExcelWithoutLicense(dataSet, filePath);
}
```
在这个例子中,我们创建了一个新的Excel文件,然后遍历DataSet中的表格并将数据加载到相应的Excel工作表中。最后保存文件。