gpt4 book ai didi

c# - 如何在 WPF 中将 DataGrid 导出到 Excel

转载 作者:行者123 更新时间:2023-12-04 20:04:19 25 4
gpt4 key购买 nike

我正在处理一个项目,但无法将 DataGrid 中的信息导出到 Excel。

我该怎么做?

最佳答案

安装 Microsoft.Office.Interop.Excel 应用程序中的 Nuget 包。右键单击您的项目-> “引用”并选择“管理 NuGet 包...” ,然后只需搜索 Excel。否则,选择 工具 -> Nuget 包管理器 -> 包管理器控制台 -> 然后安装 Excel nuget ( https://www.nuget.org/packages/Microsoft.Office.Interop.Excel/ )。

绑定(bind)DataGrid中的项目,然后将数据导出到excel,如下所示,

        private void btnExport_Click(object sender, RoutedEventArgs e)
{
Microsoft.Office.Interop.Excel.Application excel = null;
Microsoft.Office.Interop.Excel.Workbook wb = null;
object missing = Type.Missing;
Microsoft.Office.Interop.Excel.Worksheet ws = null;
Microsoft.Office.Interop.Excel.Range rng = null;

// collection of DataGrid Items
var dtExcelDataTable = ExcelTimeReport(txtFrmDte.Text, txtToDte.Text, strCondition);

excel = new Microsoft.Office.Interop.Excel.Application();
wb = excel.Workbooks.Add();
ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.ActiveSheet;
ws.Columns.AutoFit();
ws.Columns.EntireColumn.ColumnWidth = 25;

// Header row
for (int Idx = 0; Idx < dtExcelDataTable.Columns.Count; Idx++)
{
ws.Range["A1"].Offset[0, Idx].Value = dtExcelDataTable.Columns[Idx].ColumnName;
}

// Data Rows
for (int Idx = 0; Idx < dtExcelDataTable.Rows.Count; Idx++)
{
ws.Range["A2"].Offset[Idx].Resize[1, dtExcelDataTable.Columns.Count].Value = dtExcelDataTable.Rows[Idx].ItemArray;
}

excel.Visible = true;
wb.Activate();
}

关于c# - 如何在 WPF 中将 DataGrid 导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56351038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com