WPF 导出数据

    //数据导出Excel功能

    private void btnExcelZD_Click(object sender, RoutedEventArgs e)
        {
            if (zdDataGrid.Items.Count == 0)
            {
                Message_Box.Show("没有数据可以导出!");
                return;
            }
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            if (xlApp == null)
            {
                Message_Box.Show("无法创建Excel对象,可能您的机子未安装Excel!");
                return;
            }
            Microsoft.Office.Interop.Excel.Workbooks books = xlApp.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook book = books.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
            Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.Worksheets[1];
            sheet.Cells[1, 1] = "终端信息管理";
            sheet.Cells[2, 1] = "终端编号";
            sheet.Cells[2, 2] = "IP";
            sheet.Cells[2, 3] = "所属部门";
            sheet.Cells[2, 4] = "姓名";
            sheet.Cells[2, 5] = "工号";
            sheet.Cells[2, 6] = "终端名称";
            sheet.Cells[2, 7] = "更新时间";
            sheet.Cells[2, 8] = "终端类型";
            //设置Excel样式
            Microsoft.Office.Interop.Excel.Range rang1;
            Microsoft.Office.Interop.Excel.Range title1;
            Microsoft.Office.Interop.Excel.Range merge1;
            //数据导出
            for (int i = 0; i < zdDataGrid.Items.Count; i++)
            {
                Model.Client client = (Model.Client)zdDataGrid.Items[i];
                sheet.Cells[i + 3, 1] = client.SN;
                sheet.Cells[i + 3, 2] = client.IP;
                sheet.Cells[i + 3, 3] = client.DName;
                sheet.Cells[i + 3, 4] = client.Name;
                sheet.Cells[i + 3, 5] = client.JobNumber;
                sheet.Cells[i + 3, 6] = client.ClientName;
                sheet.Cells[i + 3, 7] = client.UpDateTime.ToString();
                sheet.Cells[i + 3, 8] = client.Types;
            }
            merge1 = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("A1", "H1");
            merge1.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
            merge1.Font.Name = "黑体";
            merge1.Font.Size = 16;
            merge1.Merge(0);
            merge1.Borders.LineStyle = 1;
            title1 = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range("A2", "H2");
            title1.Cells.Interior.Color = System.Drawing.Color.FromArgb(208, 206, 210).ToArgb();
            title1.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
            title1.ColumnWidth = 15;
            title1.Borders.LineStyle = 2;
            title1.Font.Size = 13;
            int Number = zdDataGrid.Items.Count + 2;
            string HN = "H" + Number;
            string A3 = "A3";
            rang1 = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range(A3, HN);
            rang1.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignLeft;
            rang1.ColumnWidth = 15;
            rang1.Borders.LineStyle = 1;
            //显示时间和日期
            Microsoft.Office.Interop.Excel.Range time1;
            int Num = zdDataGrid.Items.Count + 3;
            string ANS = "A" + Num;
            string HNS = "H" + Num;
            time1 = (Microsoft.Office.Interop.Excel.Range)sheet.get_Range(ANS, HNS);
            time1.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight;
            time1.RowHeight = 25;
            time1.Merge(0);
            time1.Value = DateTime.Now.ToString();
            xlApp.DefaultFilePath = "D:\";
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "数据文件(*.xlsx)|*.xlsx";
            sfd.FilterIndex = 2;
            sfd.FileName = (DateTime.Now.ToString().Replace(":", "-").Replace("/", "-") + "终端信息管理.xlsx");
            if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                book.Saved = true;
                book.SaveAs(sfd.FileName);
                book.Close();
            }
        }

原文地址:https://www.cnblogs.com/xiaoyao095/p/3530635.html