场景

Winform控件-DevExpress18下载安装注册以及在VS中使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243

参照以上将DevExpress安装并引进到工具箱。

这里使用的是VS2013所以安装的DevExpress是14版本。

DevExpress14以及注册机下载

https://download.csdn.net/download/badao_liumang_qizhi/11608734

效果

实现

环境搭建

新建Winform程序,拖拽一个SpreadsheetControl,以及一个Button按钮。

然后双击进入打开以及预览按钮的点击事件中

 private void simpleButton1_Click(object sender, EventArgs e)
{
string filePath = FileDialogHelper.OpenExcel();
if (!string.IsNullOrEmpty(filePath))
{
IWorkbook workbook = spreadsheetControl1.Document;
workbook.LoadDocument(filePath);
}
}

其中打开文件的路径是有工具类FileDialogHelper中的OpenEecel方法返回的。

新建FileDialogHelper类,类中新建方法实现打开一个选择文件对话框并将文件路径返回。

 public static string OpenExcel()
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Multiselect = true;
fileDialog.Title = "请选择文件";
fileDialog.Filter = "所有文件(*xls*)|*.xls*"; //设置要选择的文件的类型
if (fileDialog.ShowDialog() == DialogResult.OK)
{
return fileDialog.FileName;//返回文件的完整路径
}
else
{
return null;
} }

保存Excel实现

拖拽一个按钮,双击进入其点击事件中。

在上面预览窗口中双击单元格对excel进行编辑后点击保存会将源文件进行保存。

private void simpleButton2_Click(object sender, EventArgs e)
{
spreadsheetControl1.SaveDocument();
}

Excel另存为实现

拖拽一个按钮,然后双击进入其点击事件中

private void simpleButton3_Click(object sender, EventArgs e)
{
//获取要保存的文件路径
string filePath = FileDialogHelper.SaveExcel();
//如果不为空
if (!string.IsNullOrEmpty(filePath))
{
try
{
//获取预览的excel对象 Document提供对控件中加载的工作簿的访问
IWorkbook workbook = spreadsheetControl1.Document;
//根据选择的路径保存excel
workbook.SaveDocument(filePath);
//弹窗提示
MessageBox.Show("保存成功");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}

同理使用工具类弹窗选择保存路径,然后调用Saveocument(path)进行保存另存为。

SaveExcel方法代码

 public static string SaveExcel()
{
string filename = "霸道";
SaveFileDialog saveDialog = new SaveFileDialog();
//设置默认文件扩展名。
saveDialog.DefaultExt = "xls";
//设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。
saveDialog.Filter = "Excel文件|*.xls"; // 用默认的所有者运行通用对话框。
saveDialog.ShowDialog();
//如果修改了文件名,用对话框中的文件名名重新赋值
filename = saveDialog.FileName;
//被点了取消
if (filename.IndexOf(":") < ) return null;
else
{
//获取文件对话框中选定的文件名的字符串
return saveDialog.FileName.ToString();
} }

效果

Excel打印实现

拖拽一个按钮,然后双击进入其点击事件中。

 private void simpleButton4_Click(object sender, EventArgs e)
{
this.spreadsheetControl1.ShowPrintPreview();
}

效果

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11618624

基于DevExpress的SpreadsheetControl实现对Excel的打开、预览、保存、另存为、打印(附源码下载)的更多相关文章

  1. 使用DevExpress的PdfViewer实现PDF打开、预览、另存为、打印(附源码下载)

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  2. Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)

    场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. 基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)

    今天我们来盘一盘Socket通讯和WebSocket协议在即时通讯的小应用——聊天. 理论大家估计都知道得差不多了,小编也通过查阅各种资料对理论知识进行了充电,发现好多demo似懂非懂,拷贝回来又运行 ...

  4. Winform中DevExpress的TreeList的入门使用教程(附源码下载)

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  5. C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)[转]

    转自:http://www.cnblogs.com/yfl8910/archive/2012/05/19/2509194.html 作为财务数据核算人员,面对大量的业务与财务数据,借助于传统的EXCE ...

  6. Cesium专栏-裁剪效果(基于3dtiles模型,附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  7. 基于spring-boot和docker-java实现对docker容器的动态管理和监控[附完整源码下载]

    ​ (我是个封面) docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,doc ...

  8. JAVA-----基于POI实现对Excel导入

    在日常项目开发中, 数据录入和导出是十分普遍的需求,因此,导入导出也成为了开发中一个经典的功能.数据导出的格式一般是excel或者pdf,而批量导入的信息一般是借助excel来减轻工作量,提高效率. ...

  9. struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)

    课时22 基于XML配置方式实现对action的所有方法进行校验   使用基于XML配置方式实现输入校验时,Action也需要继承ActionSupport,并且提供校验文件,校验文件和action类 ...

随机推荐

  1. 学习Vuex 个人的一些拙见。

    首先说下什么是vuex?这个是对vue的状态的管理,这样说可能有点大,其实就是vue 里面 data  的管理,或者说是多个vue 组件共有的data 的一种管理, 在任何一个组件里面,都可以修改,访 ...

  2. 读取某个目录下的所有图片并显示到pictureBox

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. CEF避坑指南(一)——下载并编译第一个示例

    CEF即Chromium Embedded Framework,Chrome浏览器嵌入式框架.它提供了接口供程序员们把Chrome放到自己的程序中.许多大型公司,如网易.腾讯都开始使用CEF进行前端开 ...

  4. Python爬虫(一)抓取指定的页面

    (以下是在windows环境下的操作,python版本为3) 1.urllib库介绍 官方文档上的解释是: urllib is a package that collects several modu ...

  5. Okhttp3源码解析(1)-OkHttpClient分析

    ### 前言 上篇文章我们讲了[Okhttp的基本用法](https://www.jianshu.com/p/8e404d9c160f),今天根据上节讲到请求流程来分析源码,那么第一步就是实例化OkH ...

  6. 蓝桥杯c语言基础题

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  7. mysql/mariadb 初体验

    距离申请这个博客号已经过了九个月,思前想后还是把知识沉淀放这里吧,不过初心一样,依旧是 '谨以此文,见证成果'.有 兴趣的话也欢迎大家去我的csdn博客转一转.以下是正文: 1.mysql安装 win ...

  8. 基于随机游走的三维网格分割算法(Random Walks)

    首先以一维随机游走(1D Random Walks)为例来介绍下随机游走(Random Walks)算法,如下图所示,从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或N点则 ...

  9. JMeter用户参数

    压测的时候,经常需要使用动态参数,即每次请求的参数不一样,这样才能更好的模拟真实的用户请求,我们首先能想到的也是最常见的就是用户ID 1.  用户参数 我们可以定义一个变量,然后指定多个值,这样每次请 ...

  10. Markdown表格宽度调整

    Markdown 表格默认宽度是根据内容来的,如果某一列内容很长的话会将其他列的宽度占用导致显示样式很丑.我们可以在表格前增加 CSS 样式来限制列的宽度: <style> table t ...