zoukankan      html  css  js  c++  java
  • 【C#】#101 导入导出Excel

    项目需求:  1、把数据导出到Excel;  2、把Excel数据导入到数据库

    使用的类库:  Aspose.Cells    ExcelHelper.zip下载

    一、导出【调用已经封装好的方法】【未封装的方法,步骤有主要有两个,a. 添加表头   b. 添加数据部分

    1. 打开一个文本保存对话框【SaveFileDialog控件】
    2. 调用ExcelHelper类的DataTableToExcel方法导出
    /// <summary>
            /// 导出Excel
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnExeclOutput_Click(object sender, EventArgs e)
            {
                string localFilePath = String.Empty;
    
                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                //设置文件类型  
                saveFileDialog1.Filter = " xls files(*.xls)|*.txt|All files(*.*)|*.*";
                //设置文件名称:
                saveFileDialog1.FileName = DateTime.Now.ToString("yyyyMMddHHmm") + "-" + "员工管理表.xls";
                //保存对话框是否记忆上次打开的目录  
                saveFileDialog1.RestoreDirectory = true;
    
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    //获得文件路径  
                    localFilePath = saveFileDialog1.FileName.ToString();
                    DataTable dt = (DataTable)dgvTb.DataSource;
    
                    bool flag = new Common.ExcelHelper(localFilePath,"").DatatableToExcel(dt);
                    if (flag)
                    {
                        MessageBox.Show("导出成功!,导出数据条数: "+dt.Rows.Count +"");
                    }
                    else
                    {
                        MessageBox.Show("导出失败!");
                    }
                }
            }

    二、导入: 【导入返回一个DataTable】

    1. 打开一个Excel,只要传入Excel文件的路径
    2. 设置从第二行的数据开始获取【不获取表头】
    /// <summary>
    /// 导入
    /// </summary>
    /// <returns></returns>
    public DataTable ExcelToDatatalbe()
    {
        //打开Excel
        Workbook book = new Workbook(fullFilename);
        Worksheet sheet = book.Worksheets[0];
        Cells cells = sheet.Cells;
    
        //获取excel中的数据保存到一个datatable中
        DataTable dt_Import = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true);
        return dt_Import;
    }

    项目执行截图:

    image

    导入Excel截图:

    image

  • 相关阅读:
    再次梳理css3动画部分知识
    node搭环境
    微信小程序可用的第三方库
    省市区三级联动下拉框效果分析
    jq回到顶部效果分析
    jq案例中遇到的知识点总结(会飞的小鸟和三级联动)
    js正则表达式大全
    js中表达式 >>> 0 浅析
    为什么js中要用void 0 代替undefined
    npm install、npm install --save、npm install --save --dev、npm install -S、npm install -D的区别
  • 原文地址:https://www.cnblogs.com/zhongxia/p/4248969.html
Copyright © 2011-2022 走看看