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的格式. 下面简单介绍一下 ... 
随机推荐
- xss攻击原理与解决方法
			概述 XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列 表,然后向联系 ... 
- IDEA创建Spring Boot项目
			首先安装Spring Boot CLI 先确定自己安装的JDK是1.8版本或者以上,然后下载Srping Boot CLI,Spring Boot CLI下载地址,下载下来是一个压缩包,解压,得到一个 ... 
- 【PAT】1016 部分A+B(15 分)
			1016 部分A+B(15 分) 正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA.例如:给定 A=3862767,DA=6,则 A ... 
- 8-4 Fabled Rooks uva11134
			题意:你的任务是在n*n的棋盘上放 n 小于5000 个车 使得任意两个车不互相攻击 且第i个车在一个给定的矩形ri之内 给出该矩形左上角坐标和右下角坐标四个点 必须满足放车的位置在矩形内 边上 ... 
- JSP的学习三(中文乱码)
			1). 在 JSP 页面上输入中文, 请求页面后不出现乱码: 保证 contentType="text/html; charset=UTF-8", pageEncoding=&qu ... 
- Wannafly挑战赛9 A - 找一找
			链接:https://www.nowcoder.com/acm/contest/71/A来源:牛客网 题目描述 给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y=kx,其中k为大于1的 ... 
- Windows-caffe配置
			我在博客园的第一篇博客开始了,好紧张,好激动,好淫荡...哈哈O(∩_∩)O哈! 下面开始进入正题.配置环境为windows7+cuda7.5+vs2013+matlab2014a 之前用的happy ... 
- 20172301 《Java软件结构与数据结构》实验一报告
			20172301 <Java软件结构与数据结构>实验一报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ... 
- UVA - 11995 - I Can Guess the Data Structure!  STL 模拟
			There is a bag-like data structure, supporting two operations: 1 x Throw an element x into the bag. ... 
- java面试数据类型
			1. Java的数据类型? 2. Java的封装类型? 3. 基本类型和封装类型的区别? 基本类型只能按值传递,而对应的封装类是按引用传递的. 基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建 ... 
