SpreadSheet数据导出为DataTable z
devexpress也提供了一种将excel数据,而且可以指定区域进行转换,用起来相当灵活,本人将其解决方法分享如下(代码):
private DataTable export(Worksheet sheet, Range range, bool rangeHasHeaders) // sheet为文档中的sheet表,range为要导出的数据范围,rangeHasHeaders表示数据是否包含表头
{
// 采用CreateDataTable新建表,只创建格式,不导出数据
DataTable data = sheet.CreateDataTable(sheet.GetDataRange(), rangeHasHeaders);
// 检查表中数据格式,如果同一列中数据格式不同,则该列转为字符串
for (int col = 0; col < range.ColumnCount; col++)
{
CellValueType cellType = range[Convert.ToInt32(rangeHasHeaders), col].Value.Type;
for (int r = 1; r < range.RowCount; r++)
{
if (cellType != range[r, col].Value.Type)
{
data.Columns[col].DataType = typeof(string);
break;
}
}
}
// 用CreateDataTableExporter函数创建数据导出对象exporter,创建后数据还没有导出
DataTableExporter exporter = sheet.CreateDataTableExporter(range, data, rangeHasHeaders);
// 导出过程中监测导出对象中的错误,将对应的值赋空,并继续
exporter.CellValueConversionError += delegate (object sender, CellValueConversionErrorEventArgs e)
{
e.DataTableValue = null;
e.Action = DataTableExporterAction.Continue;
};
// 执行导出数据
exporter.Export();
return data;
}
SpreadSheet数据导出为DataTable z的更多相关文章
- 使用OpenXml把Excel中的数据导出到DataSet中
public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...
- DataTable数据导出到Excel,并发送到客户端进行下载
本代码实现思路是:页面显示和导出分开,导出的数据和用于页面显示的是同一查询数据方式,所以也是同样的数据,只是在导出数据时从数据库重新捞了一次数据.此导出数据方式会先将数据保存到Excel中,然后将创建 ...
- Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...
- C#将DataTable数据导出CSV文件
C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法 protected void btnCSV_Click(object sender, EventArgs e) ...
- DataTable中的数据赋值给model z
create table memberinfo ( member_id int, member_name varchar(20), member_birthday varchar(50) ) go / ...
- asp.net数据导出到excel表格,并设置表格样式
1.首先在项目中添加引用
- 数据导出Excel中文乱码
数据导出到EXCEL提供用户下载,当记录数大于5行时不会出现乱码.但只要不退出Excel,再删除除记录,当记录数小于5行时,导出也不会出现乱码.当然一旦退出Excel再导出就会出现乱码了. 可以试试 ...
- yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法
作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
- .net解决数据导出excel时的格式问题
在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下 ...
随机推荐
- Linux 相关
一.WCHAN的含义 WCHAN 进程正在睡眠的内核函数名称:该函数的名称是从/root/system.map文件中获得的. 参考:解析ANDROID ps命令执行后各项参数的含义 二.查看线程 ps ...
- C# 文件存在,但是File.Exists 判断不存在的问题
这里说的不是文件路径错了的情况,而是明明文件就存在,但是File.Exists返回false. win10系统. 查看接口说明才知道,如果你不是按管理员方式启动VS,而此文件需要管理员权限才能访问,此 ...
- HTML/CSS权值继承
<style type="text/css">p{color:red;}.first{color:green;}/*因为权值高显示为绿色*/ span{color:pi ...
- Codeforces 429C Guess the Tree(状压DP+贪心)
吐槽:这道题真心坑...做了一整天,我太蒻了... 题意 构造一棵 $ n $ 个节点的树,要求满足以下条件: 每个非叶子节点至少包含2个儿子: 以节点 $ i $ 为根的子树中必须包含 $ c_i ...
- 初识angularJS的基本概念
今天在这里分享分享我个人学习angular的知识点总结.在还没有接触到angular的时候,还真的不知道它到底有什么作用,直到我开始学习它,并且运用到它的时候,才知道angular这么强大.作为一个前 ...
- PHP学习日记 函数
可变函数 PHP支持可变函数的概念.所以如果一个变量后面有圆括号“()”,PHP将寻找与变量值同名的函数,并尝试执行此函数,可变函数可以用来实现回调函数.函数列表等.可变函数不能用于echo.prin ...
- Cordova 打包签名
1.第一步 在项目根目录下运行命令cordova build --release android,会在testApp\platforms\android\build\outputs\apk目录下生成一 ...
- 用UltraEdit转换大小写
alt+F5转大写: ctrl+F5转小写: F5每个单词的首字母大写: Shift+F5大小写互换.
- AORUS GA-Z270X-Gaming 5開箱
「AORUS」這個品牌名稱由埃及神祇荷魯斯(戰爭與狩獵之神)的名字衍生而成.荷魯斯通常被勾勒為獵鷹的形象,因此獵鷹的頭形被用作AORUS品牌的商標於2014年,本來只做為用在電競筆電及一些週邊方面,但 ...
- 常见的Javascript报错及解决方案
一.堆栈溢出不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,以至于覆盖了别的数据.1.哪些操作会引起堆栈溢出?比如递归2.如何解决堆栈溢出?闭包,setTimeout,优化调 ...