项目需求:  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[];
Cells cells = sheet.Cells; //获取excel中的数据保存到一个datatable中
DataTable dt_Import = cells.ExportDataTableAsString(, , cells.MaxDataRow + , cells.MaxDataColumn + , true);
return dt_Import;
}

项目执行截图:

导入Excel截图:

【C#】#101 导入导出Excel的更多相关文章

  1. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  2. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  3. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  4. 导入导出Excel工具类ExcelUtil

    前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...

  5. php中导入导出excel的原理

    在php中我们要经常导入导出excel文件,方便后台管理.那么php导入和导出excel的原理到底是什么呢?excel分为两大版本excel2007(后缀.xlsx).excel2003(后缀.xls ...

  6. NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中

    以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...

  7. .NET导入导出Excel

    若是开发后台系统,ASP.NET MVC中总是涉及了很多导入导出Excel的问题,有的时候处理起来比较烦 如果能使用以下代码解决,就完美了 public class ReportModel { [Ex ...

  8. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  9. .Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构)

    .Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) [原文地址] 通过MVC控制器导出导入Excel文件(可用于java SSH架构)   public cl ...

随机推荐

  1. 熟悉一下oncontextmenu事件的知识

    定义和使用 只要点击鼠标右键,就触发oncontextmenu事件并打开上下文菜单. 需要注意的是:所有主流浏览器都支持oncontextmenu事件,但其中的contextmenu元素只有FireB ...

  2. 【angular5项目积累总结】文件下载

    download() { const token = localStorage.getItem('token'); let headers: HttpHeaders = new HttpHeaders ...

  3. MyEclipse中更改JRE环境

    今天代码中需要用到λ表达式,但λ表达式需要JRE1.8的支持,而MyEclipse设置的默认JRE是1.7.为了是程序能够顺利通过编译,需要将MyEclipse的JRE由1.7转换为1.8.步骤如下:

  4. 【转】SQL语句统计每天、每月、每年的数据

    原文:https://www.cnblogs.com/Fooo/p/3435687.html SQL语句统计每天.每月.每年的数据 1.每年select year(ordertime) 年,sum(T ...

  5. 一分钟配置jdk

    一.下载jdk 直接进入网站:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  6. MyBatis源码解析之日志记录

    一 .概述 MyBatis没有提供日志的实现类,需要接入第三方的日志组件,但第三方日志组件都有各自的Log级别,且各不相同,但MyBatis统一提供了trace.debug.warn.error四个级 ...

  7. java写卷积神经网络---CupCnn简介

    https://blog.csdn.net/u011913612/article/details/79253450

  8. 山东第四届省赛: Boring Counting 线段树

    http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=3237 Problem H:Boring Counting Time Limit: 3 Sec  ...

  9. MySQL的排序方式

    MySQL中 进行排序的方式: Select * from 表名 [where 条件 order by  字段名(默认的是ASC升序排列)] ASC是升序排列,DESC用来指定降序排列 Oracle中 ...

  10. html.div

    使用div构造简单的信息图片 html: <!DOCTYPE html><html><head><meta charset="utf-8" ...