首页 > 代码库 > 【C#】#101 导入导出Excel

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

 

 

项目执行截图:

技术分享

导入Excel截图:

技术分享

【C#】#101 导入导出Excel