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的更多相关文章

  1. 使用OpenXml把Excel中的数据导出到DataSet中

    public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...

  2. DataTable数据导出到Excel,并发送到客户端进行下载

    本代码实现思路是:页面显示和导出分开,导出的数据和用于页面显示的是同一查询数据方式,所以也是同样的数据,只是在导出数据时从数据库重新捞了一次数据.此导出数据方式会先将数据保存到Excel中,然后将创建 ...

  3. Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域

    上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...

  4. C#将DataTable数据导出CSV文件

    C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法    protected void btnCSV_Click(object sender, EventArgs e)   ...

  5. DataTable中的数据赋值给model z

    create table memberinfo ( member_id int, member_name varchar(20), member_birthday varchar(50) ) go / ...

  6. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

  7. 数据导出Excel中文乱码

    数据导出到EXCEL提供用户下载,当记录数大于5行时不会出现乱码.但只要不退出Excel,再删除除记录,当记录数小于5行时,导出也不会出现乱码.当然一旦退出Excel再导出就会出现乱码了. 可以试试 ...

  8. yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法

    作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension​ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...

  9. .net解决数据导出excel时的格式问题

    在项目中一般都需要将报表数据导出到EXCEL中,但经常出现导出长串数据(如身份证)到EXCEL中后显示为科学计数法的格式,或者报表中显示为001的数据导出到Excel后成了1的格式. 下面简单介绍一下 ...

随机推荐

  1. JS验证表单中TEXT文本框中是否含有非法字符

    <form id="form" action="" method="post"> <input type="hi ...

  2. 《精通Python设计模式》学习之建造者模式

    这种模式,就是将一个最终对象分级分层建造出来. 在软件发布过程中,不同的JAVA,PYTHON,NODE.JS,ZIP压缩包, 就可以使用不同的阶段来使用建造者模式的. from enum impor ...

  3. Centos 常用命令[持续积累中...]

    CentOS常用到的查看系统命令 uname -a cat /etc/issue /sbin/ifconfig # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操 ...

  4. 【51nod】1709 复杂度分析

    题解 考虑朴素的暴力,相当于枚举u点的每个祖先f,然后统计一下这个点f除了某个儿子里有u的那个子树之外的节点个数,乘上f到u距离的二进制1的个数 那么我们用倍增来实现这个东西,每次枚举二进制的最高位j ...

  5. 【POJ】2165.Gunman

    题解 把直线的斜率分解成二维,也就是随着z的增加x的增量和y的增量 我们发现一条合法直线向上移一点一定能碰到一条横线 知道了这条横线可以算出y的斜率 我们旋转一下,让这条横线碰到两条竖线,就可以算出x ...

  6. 为什么Java中Long类型的比float类型的范围小?

    为什么Long类型的比float类型的范围小? 2015-09-15 22:36 680人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许不得转载. 作为一个常识,我们都知道浮 ...

  7. ubuntu16.04 删除内核

    一.背景 今天开机输入密码后,Ubuntu就卡在左下角有“Ubuntu 16.04 LTS”字样的那个界面,鼠标可以移动,但无法进入桌面.考虑到这个问题可能是因为ubuntu的自动更新造成的,于是重新 ...

  8. JAVAEE——宜立方商城03:Nginx负载均衡高可用、Keepalived+Nginx实现主备

    1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...

  9. Android Actionbar Tab 导航模式

    Android Actionbar Tab 下图中,红色矩形圈起来的就是我们 ActionBar Tab,下面我们将一步一步的实现下图中的效果. 初次尝试 package com.example.it ...

  10. [ 原创 ]学习笔记-Android 学习笔记 Contacts (一)ContentResolver query 参数详解 [转载]

    此博文转载自:http://blog.csdn.net/wssiqi/article/details/8132603 1.获取联系人姓名 一个简单的例子,这个函数获取设备上所有的联系人ID和联系人NA ...