wpf控制excel

using Microsoft.Office.Interop.Excel;
using System.Data; 



private void Button_Click(object sender, RoutedEventArgs e)

        {
            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("NickName", typeof(string));
            dt.Columns.Add("QNumber", typeof(string));


            DataRow row = dt.NewRow();
            row["ID"] = 1;
            row["NickName"] = "sanjiawan";
            row["QNumber"] = "12345678";
            dt.Rows.Add(row);


            row = dt.NewRow();
            row["ID"] = 2;
            row["NickName"] = "人物2";
            row["QNumber"] = "9058307";
            dt.Rows.Add(row);


            //创建Excel


            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
//             Workbook excelWB = excelApp.Workbooks.Add(System.Type.Missing);    //创建工作簿(WorkBook:即Excel文件主体本身)
//             Worksheet excelWS = (Worksheet)excelWB.Worksheets[1];   //创建工作表(即Excel里的子表sheet) 1表示在子表sheet1里进行数据导出
// 
//             //excelWS.Cells.NumberFormat = "@";     //  如果数据中存在数字类型 可以让它变文本格式显示
//             //将数据导入到工作表的单元格
//             for (int i = 0; i < dt.Rows.Count; i++)
//             {
//                 for (int j = 0; j < dt.Columns.Count; j++)
//                 {
//                     excelWS.Cells[i + 1, j + 1] = dt.Rows[i][j].ToString();   //Excel单元格第一个从索引1开始
//                 }
//             }
// 
//             excelWB.SaveAs("D:\\sanjiawan.xlsx");  //将其进行保存到指定的路径
//             excelWB.Close();


            Workbook excelWB = excelApp.Workbooks.Add("D:\\sanjiawan.xlsx");


            if(excelWB != null)
            {
                Worksheet excelWS = (Worksheet)excelWB.Worksheets[1] ;


                if(excelWS != null)
                {
                    MessageBox.Show(excelWS.Cells[1, 1].Value2.ToString());
                }
                ReleaseCOM(excelWS);
            }


            ReleaseCOM(excelWB);


            excelApp.Quit();  //KillAllExcel(excelApp); 释放可能还没释放的进程


            ReleaseCOM(excelApp);


        }


        private void ReleaseCOM(object pObj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(pObj);
            }
            catch
            {
                throw new Exception("释放资源时发生错误!");
            }
            finally
            {
                pObj = null;
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值