• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#导出Excel

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ExcelHelper:

    public class ExcelHelper
    {
        public static void Export(System.Data.DataTable dt, string filePath)
        {
            if (dt == null)
            {
                throw new Exception("数据表中无数据");
            }
            int eRowIndex = 1;
            int eColIndex = 1;
            int cols = dt.Columns.Count;
            int rows = dt.Rows.Count;
            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();//.Application();//.ApplicationClass();
            Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
            try
            {
                //列名的处理
                for (int i = 0; i < cols; i++)
                {
                    xlApp.Cells[eRowIndex, eColIndex] = dt.Columns[i].ColumnName;
                    eColIndex++;
                }
                //列名加粗显示
                xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[eRowIndex, cols]).Font.Bold = true;
                xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[rows + 1, cols]).Font.Name = "Arial";
                xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[rows + 1, cols]).Font.Size = "10";
                eRowIndex++;

                for (int i = 0; i < rows; i++)
                {
                    eColIndex = 1;
                    for (int j = 0; j < cols; j++)
                    {
                        xlApp.Cells[eRowIndex, eColIndex] = dt.Rows[i][j].ToString();
                        eColIndex++;
                    }
                    eRowIndex++;
                }
                //控制单元格中的内容。
                xlApp.Cells.EntireColumn.AutoFit();

                xlApp.DisplayAlerts = false;
                xlBook.SaveCopyAs(filePath);
                xlApp.Workbooks.Close();

            }
            catch
            {
                throw;
            }
            finally
            {
                xlApp.Quit();
                //杀掉Excel进程。
                GC.Collect();
            }
        }

        /// <summary>
        
/// 将datatable导出到Excel
        
/// </summary>
        
/// <param name="dt"></param>
        public static void ExportToExcel(DataTable dt)
        {
            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "xlsx files (*.xlsx)|*.xlsx|All Files(*.*)|*.*";
            sfd.ShowDialog();
            string filepath = sfd.FileName;
            if (filepath == "" || filepath.Substring(filepath.LastIndexOf('.') + 1).ToLower() != "xlsx")
            {
                return;
            }
            else
            {
                try
                {
                    ExcelHelper.Export(dt, filepath);
                    MessageBox.Show("导出成功!""提示");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }

需要:

导入Microsoft.Office.Interop.Excel,并且其Embed Interop Types属性设置为false,否则可能引发“Interop type 'Microsoft.Office.Interop.Excel.ApplicationClass' cannot be embedded”错误。

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#操作摄像头发布时间:2022-07-13
下一篇:
图片上传代码(C#)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap