【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;
}

项目执行截图:

【C#】#101 导入导出Excel

导入Excel截图:

【C#】#101 导入导出Excel