Winform之SpreadSheetGear转DevExpress.XtraSpreadsheet.v13.2 z
DevExpress.XtraSpreadsheet.v13.2 允许用户创建、管理、打印、转换spreadsheet文件而不需要用户安装Office。
什么是Spreadsheet
可以看到最后就是一个近乎完整的Excel界面。
如何使用Spreadsheet
项目添加引用:
DevExpress.Docs.v13.2
DevExpress.XtraSpreadsheet.v13.2
代码示例:
注释掉的部分是原来使用SpreadSheetGear的代码,理论上DevExpress.Spreadsheet可以完全替代SpreadSheetGear。
using DevExpress.Spreadsheet;
using DevExpress.Spreadsheet.Export; //打开Excel文件
//SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(openFileDialog.FileName, System.Globalization.CultureInfo.CurrentCulture);
spreadsheetControl1.LoadDocument(openFileDialog.FileName, DocumentFormat.Xls); //从流中读取数据
var stream = new MemoryStream();
gridView1.ExportToXls(stream, true); //生成流
//var workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(stream);
Workbook workbook = new Workbook();
workbook.LoadDocument(stream, DocumentFormat.Xls); //保存Excel文件
//workbook.SaveAs(saveFileDialog.FileName, SpreadsheetGear.FileFormat.XLS97);
workbook.SaveDocument(saveFileDialog.FileName, DocumentFormat.Xls); //新建Workbook和Worksheet
//SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook();
//SpreadsheetGear.IWorksheet workSheet = workbook.Worksheets[0];
//workSheet.Name = dtSource.TableName;
Workbook workbook = new Workbook();
Worksheet workSheet = workbook.Worksheets.Add(dtSource.TableName); //将DataTable填到Cell中
//SpreadsheetGear.IRange range = workSheet.Cells["A2"];
//range.CopyFromDataTable(dtSource, SpreadsheetGear.Data.SetDataFlags.NoColumnHeaders);
workSheet.Import(dtSource, false, 1, 0); //数据导出到DataTable
//var dataSet = workbook.GetDataSet(SpreadsheetGear.Data.GetDataFlags.FormattedText |
// SpreadsheetGear.Data.GetDataFlags.NoColumnHeaders);
Worksheet worksheet = workbook.Worksheets[0];
Range range = worksheet.GetUsedRange();
bool rangeHasHeaders = false;
DataTable dataTable = worksheet.CreateDataTable(range, rangeHasHeaders);
//务必添加引用DevExpress.Docs.v13.2.dll
DataTableExporter exporter = worksheet.CreateDataTableExporter(range, ataTable, rangeHasHeaders);
exporter.Export(); //设置Cell值和格式
//workSheet.Cells[0, index].Columns.AutoFit();
//workSheet.Cells[0, index].Interior.Color = Color.Gray;
//workSheet.Cells[0, index].Borders.LineStyle = SpreadsheetGear.LineStyle.Continuous;
workSheet.Columns.AutoFit(0, dtSource.Columns.Count);
workSheet.Cells[0, index].FillColor = Color.Gray;
workSheet.Cells[0, index].Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin);
Winform之SpreadSheetGear转DevExpress.XtraSpreadsheet.v13.2 z的更多相关文章
- WinForm下开发插件DevExpress安装及使用
WinForm下开发插件DevExpress安装及使用在Visual Studio中安装DevExpress开发插件插件的使用方法简单的Demo介绍下载链接:https://pan.baidu.com ...
- c# WinForm中使用DevExpress.XtraSpreadsheet.SpreadsheetControl时,给sheet批量赋值
即使看了Demo,我也是很久才搞清除的,可能是我太笨了 首先在form上添加一个spreadsheetcontrol控件,添加各种引用: 然后添加引用: using DevExpress.XtraEd ...
- 在Winform开发框架中使用DevExpress的内置图标资源
在开发Winform程序界面的时候,我们往往会使用一些较好看的图表,以便能够为我们的程序界面增色,良好的图标设置可以让界面看起来更加美观舒服,而且也比较容易理解,图标我们可以通过一些网站获取各种场景的 ...
- 在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件
DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...
- 在Winform界面中使用DevExpress的TreeList实现节点过滤查询的两种方式
在我较早的一篇随笔<在DevExpress程序中使用TeeList控件以及节点查询的处理>中,介绍了在树形列表TreeList控件上面,利用SearchControl实现节点的模糊查询过滤 ...
- Winform使用DevExpress的WaitDialogForm画面 z
使用了DevExpress的WaitDialogForm 在应用程序加载开始时新建一个线程,并将loading画面show起来,在应用程序画面弹出前将该线程终止. 代码: private DevExp ...
- Winform中实现更改DevExpress的RadioGroup的选项时更改其他控件(TextEdit、ColorPickEdit)的值
场景 Winform中实现读取xml配置文件并动态配置ZedGraph的RadioGroup的选项: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...
- winform框架源码-Devexpress开发框架
链接: https://pan.baidu.com/s/1TnDj6qftGEUl3sTB8QXs_w 提取码: 关注公众号[GitHubCN]回复获取 开发模式:C/S C/S采用的是dev14 ...
- Devexpress DateEdit选年月 z
Mask与Display只显示年月2012-02这种格式,但用户选择起来还是不爽,体验太差. 效果如下: 代码: using Microsoft.VisualBasic; using System; ...
随机推荐
- POJ2488A Knight's Journey
http://poj.org/problem?id=2488 题意 : 给你棋盘大小,判断马能否走完棋盘上所有格子,前提是不走已经走过的格子,然后输出时按照字典序排序的第一种路径 思路 : 这个题吧, ...
- struts2学习笔记(2)——简单的输入验证以及标签库的运用
struts2自带了一些标签库,运用好这些标签库会减少开发周期. 1.struts2标签库是在哪定义的? struts2标签库定义在struts2-core-2.1.8.jar这个文件中,具体在这个j ...
- 恢复被win7覆盖的Ubuntu Grub
情景:本本装有Ubuntu 12.04 + Win7 32.重装Win7 64后,Ubuntu启动菜单被覆盖. 恢复的方法有多种,思路都一样.第一步,进入Linux环境:第二步.修改Grub使其重新覆 ...
- asp.net中runat="server"的含义
aspx运行时会被编译,其中没有runat server属性的html标签会被直接写入response,有runat server属性的html标签会转换成对应的HtmlControl子类加入 到页面 ...
- Android:Android SDK Manager顺利下载
默认的Android SDK只有Android 4.4的版本,如果需要其他版本的模拟器,需要Android SDK Manager下载, 1.打开Eclipse 2.选择Android SDK Man ...
- button 事件属性
- 安装nginx创建错误
./configure: error: the HTTP gzip module requires the zlib library. 解决: yum install -y zlib-devel -- ...
- IDEA建项目的正确姿势
今天建多模块的分布式项目的时候折腾死了,可能是建项目的方法不对,最后经过摸索,觉得这样是比较合适的: 首先建一个空的项目:Empty Project,就是项目文件夹 然后在里面建model
- python - PipeMapRed.waitOutputThreads(): subprocess failed with code 1
hadoop上执行mapreduce streaming python程序报错, 报错详细信息为 python - PipeMapRed.waitOutputThreads(): subprocess ...
- PHP程序员最常犯的11个MySQL错误
对于大多数web应用来说,数据库都是一个十分基础性的部分.如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子. 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松 ...