CN107122473A - 一种Excel数据的导入导出方法及装置 - Google Patents
一种Excel数据的导入导出方法及装置 Download PDFInfo
- Publication number
- CN107122473A CN107122473A CN201710301651.8A CN201710301651A CN107122473A CN 107122473 A CN107122473 A CN 107122473A CN 201710301651 A CN201710301651 A CN 201710301651A CN 107122473 A CN107122473 A CN 107122473A
- Authority
- CN
- China
- Prior art keywords
- data
- type
- excel
- cell
- datatable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013500 data storage Methods 0.000 claims abstract description 39
- 238000006243 chemical reaction Methods 0.000 claims abstract description 23
- 238000010276 construction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Abstract
本发明提供了一种Excel数据的导入导出方法及装置,基于Excel是通过xml文件存储数据的特点,通过确定Excel用于存储数据的xml文件所对应的路径,以及将DataTable数据与Excel数据的数据类型进行转换,并将转换后的数据插入到xml文件中或插入到DataTable中,即可以无需在客户端上安装Office软件,以实现Excel数据的导入导出,从而提高用户的体验。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种Excel数据的导入导出方法及装置。
背景技术
在软件系统中操作批量数据时,往往会涉及到对Excel数据的操作,包括对Excel数据的导入和导出。传统的操作方式是需要客户端上安装Office软件,在进行Excel数据的导入和导出时,均需要打开相应的Excel文件,来将Excel文件中需要导出的数据拷贝出来,或者将需要导入到Excel文件中的数据拷贝粘贴进去。若在软件系统操作过程中发现客户端未安装有Office软件,则会进行报错处理,如此,用户只能被迫安装Office软件,导致用户体验不佳。
发明内容
本发明实施例提供了一种Excel数据的导入导出方法及装置,以在未安装有Office软件的客户端上实现对Excel数据的导入导出。
本发明实施例提供了一种DataTable数据导出到Excel的方法,包括:
确定Excel用于存储数据的xlm文件所对应的路径;
针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
优选地,
进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为Excel数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
优选地,在所述将转换的各个Excel数据插入到Excel中之前,进一步包括:
计算DataTable中各个单元格的长度,并将DataTable中每一列上最大长度的单元格对应的长度设置为xml文件中该列的列宽。
本发明另一实施例提供了一种Excel数据导入到DataTable的方法,包括:
确定Excel用于存储数据的xlm文件所对应的路径;
根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
优选地,
进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将Excel中各个单元格中的数据转换为相应类型的DataTable数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
本发明又一实施例提供了一种DataTable数据导出到Excel的装置,包括:
第一确定单元,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元,用于针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
转换单元,用于根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
插入单元,用于并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
优选地,
进一步包括:构建单元,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
优选地,进一步包括:
计算单元,用于计算DataTable中各个单元格的长度;
配置单元,用于将DataTable中每一列上最大长度的单元格对应的长度设置为xml文件中该列的列宽。
本发明在一实施例提供了一种Excel数据导入到DataTable的装置,包括:
第一确定单元,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元,用于根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
转换单元,用于根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
插入单元,用于根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
优选地,
进一步包括:构建单元,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
本发明实施例提供了一种Excel数据的导入导出方法及装置,基于Excel是通过xml文件存储数据的特点,通过确定Excel用于存储数据的xml文件所对应的路径,以及将DataTable数据与Excel数据的数据类型进行转换,并将转换后的数据插入到xml文件中或插入到DataTable中,即可以无需在客户端上安装Office软件,以实现Excel数据的导入导出,从而提高用户的体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的DataTable数据导出到Excel的方法流程图;
图2是本发明实施例二提供的Excel数据导入到DataTable的方法流程图;
图3是本发明实施例三提供的Excel文件以xml文件存储数据的文件示意图;
图4是本发明实施例三提供的动态链接库;
图5是本发明实施例四提供的一种DataTable数据导出到Excel装置结构示意图;
图6是本发明实施例四提供的另一种DataTable数据导出到Excel装置结构示意图;
图7是本发明实施例四提供的又一种DataTable数据导出到Excel装置结构示意图;
图8是本发明实施例五提供的一种Excel数据导入到DataTable装置结构示意图;
图9是本发明实施例五提供的另一种Excel数据导入到DataTable装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本发明实施例提供了一种DataTable数据导出到Excel的方法,该方法可以包括:
步骤101:确定Excel用于存储数据的xlm文件所对应的路径;
步骤102:针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
步骤103:根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
步骤104:并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
在本发明上述实施例中,基于2007以上版本的Excel是通过xml文件存储数据的特点,通过确定Excel用于存储数据的xml文件所对应的路径,以及将DataTable数据与Excel数据的数据类型进行转换,并将转换后的数据插入到xml文件中,即可以无需在客户端上安装Office软件,以实现Excel数据的导入,从而提高用户的体验。
在本发明一个实施例中,由于DataTable数据和Excel数据的格式不同,因此,为了实现将DataTable数据导出到Excel用于存储数据的xml文件中,可以进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为Excel数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
在本发明一个实施例中,由于单元格中存放的数据长度不同,可能导致在导出到Excel用于存储数据的xml文件中时,xml文件的单元格无法满足数据长度,因此,可以进一步包括:计算DataTable中各个单元格的长度,并将DataTable中每一列上最大长度的单元格对应的长度设置为Excel中该列的列宽。从而可以实现导出到xml文件中时可以自适应列宽。
实施例二:
如图2所示,本发明实施例提供了一种Excel数据导入到DataTable的方法,该方法可以包括:
步骤201:确定Excel用于存储数据的xlm文件所对应的路径;
步骤202:根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
步骤203:根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
步骤204:根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
在本发明上述实施例中,基于2007以上版本的Excel是通过xml文件存储数据的特点,通过确定Excel用于存储数据的xml文件所对应的路径,以及将DataTable数据与Excel数据的数据类型进行转换,并将转换后的数据插入到DataTable中,即可以无需在客户端上安装Office软件,以实现Excel数据的导出,从而提高用户的体验。
在本发明一个实施例中,由于DataTable数据和Excel数据的格式不同,因此,为了实现将Excel用于存储数据的xml文件中的数据导入到DataTable中,可以进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将Excel中各个单元格中的数据转换为相应类型的DataTable数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
实施例三:
对于Office2007及以上版本的Excel数据存储是基于xml文件的,例如,将一个2007版本以上的Excel文件的扩展名修改为rar后,对其进行解压可以得到如图3所示的文件。
其中,sheet1.xml对应着Excel文件中的工作簿sheet1,且Excel中有多少个工作簿,那么该解压后worksheets文件夹下则会有多少个sheet文件。Excel中的数据皆由这些xml文件描绘而成。
根据以上数据存储的特点,操作Excel数据就是操作这些xml文件,因此,该方法需要使用OpenXML技术来操作上述xml文件,从而实现对Excel文件的操作。
为了可以操作xml文件,首先创建一个动态链接库ExcelHelper,该动态链接库ExcelHelper的结构请参考图4。在图4中,该动态链接库ExcelHelper至少可以包括如下三类:(1)数据类型基础类;(2)基础操作类;(3)公共操作类。
数据类型基础类至少可以包括如下的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;其中,TextCell用于描述文本类型,DateCell用于描述日期类型,NumberCell用于描述文本类型,FormulaCell用于描述公式类型。数据类型基础类可以实现DataTable数据与Excel数据的数据类型的转换。
其中,以TextCell的实现为例,其代码实现如下:
基础操作类(ExcelOperater)至少可以包括:获取Excel中Sheet页的方法、读取单元格的方法、保存单元格的方法以及自适应列宽的方法。
其中,以自适应列宽为例,其代码实现如下:
公共操作类可以实现供外部调用的类ExportExcel和ImportExcel,其中,ExportExcel用于实现将DataTable数据导出到Excel文件的方法,ImportExcel用于实现将Excel数据导入到DataTable中的方法。
基于OpenXML实现,在使用动态链接库的工程中需要添加DocumentFormat.OpenXml.dll引用,同时还应添加该动态链接库ExcelHelper的引用。
根据步骤101-步骤104,在将DataTable数据导出到Excel中时,其具体代码如下:
//输出Excel的路径
string fileName=@"D:\test.xlsx";
//实例化ExportExcel
ExportExcel exporter=new ExportExcel();
//调用类库方法将DataTable(dt)中的数据导出到Excel
exporter.DataTableToExcel(dt,fileName);
其中,在调用ExportExcel类时,其代码实现如下:
ExportExcel代码中的ExcelToDataSet用于将Excel中的数据导出到DataSet中,其中Excel中每个Sheet页转换为DataSet中的一个DataTable;ExcelToDataTable用于将Excel中的默认第一个Sheet页转换为DataTable。
根据步骤201-步骤204,在将Excel数据导入到DataTable中时,其具体代码如下:
//Excel路径
string fileName=@"D:\test.xlsx";
//实例化ImportExcel
ImportExcel importer=new ImportExcel();
//调用类库方法将Excel数据导入到DataSet
DataSet ds=importer.ExcelToDataSet(fileName);
其中,在调用ImportExcel类时,其代码实现如下:
ImportExcel代码中的DataSet2Excel用于将DataSet中的数据导出到Excel文件中,其中DataSet中的每个DataTable转换为Excel中的一个Sheet页。
实施例四:
请参考图5,本发明一个实施例还提供了一种DataTable数据导出到Excel的装置,包括:
第一确定单元501,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元502,用于针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
转换单元503,用于根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
插入单元504,用于并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
在本发明一个实施例中,请参考图6,该DataTable数据导出到Excel的装置可以进一步包括:构建单元601,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元503,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
在本发明一个实施例中,请参考图7,该DataTable数据导出到Excel的装置可以进一步包括:
计算单元701,用于计算DataTable中各个单元格的长度;
配置单元702,用于将DataTable中每一列上最大长度的单元格对应的长度设置为xml文件中该列的列宽。
实施例五:
请参考图8,本发明一个实施例还提供了一种Excel数据导入到DataTable的装置,包括:
第一确定单元801,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元802,用于根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
转换单元803,用于根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
插入单元804,用于根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
在本发明一个实施例中,请参考图9,该Excel数据导入到DataTable的装置可以进一步包括:构建单元901,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元803,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
综上,本发明各个实施例至少可以实现如下有益效果:
1、在本发明实施例中,基于Excel是通过xml文件存储数据的特点,通过确定Excel用于存储数据的xml文件所对应的路径,以及将DataTable数据与Excel数据的数据类型进行转换,并将转换后的数据插入到xml文件中或插入到DataTable中,即可以无需在客户端上安装Office软件,以实现Excel数据的导入导出,从而提高用户的体验。
2、在本发明实施例中,通过计算DataTable中各个单元格的长度,并将DataTable中每一列上最大长度的单元格对应的长度设置为Excel中该列的列宽,从而可以实现导出到xml文件中时可以自适应列宽。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种DataTable数据导出到Excel的方法,其特征在于,包括:
确定Excel用于存储数据的xlm文件所对应的路径;
针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
2.根据权利要求1所述DataTable数据导出到Excel的方法,其特征在于,
进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为Excel数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
3.根据权利要求1或2所述DataTable数据导出到Excel的方法,其特征在于,在所述将转换的各个Excel数据插入到Excel中之前,进一步包括:
计算DataTable中各个单元格的长度,并将DataTable中每一列上最大长度的单元格对应的长度设置为xml文件中该列的列宽。
4.一种Excel数据导入到DataTable的方法,其特征在于,包括:
确定Excel用于存储数据的xlm文件所对应的路径;
根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
5.根据权利要求4所述Excel数据导入到DataTable的方法,其特征在于,
进一步包括:预先构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述根据各个单元格内数据的类型,将Excel中各个单元格中的数据转换为相应类型的DataTable数据,包括:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
6.一种DataTable数据导出到Excel的装置,其特征在于,包括:
第一确定单元,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元,用于针对DataTable中的每一个单元格,确定单元格的位置以及单元格内数据的类型;
转换单元,用于根据各个单元格内数据的类型,将DataTable中各个单元格中的数据转换为相应类型的Excel数据;
插入单元,用于并根据Excel用于存储数据的xlm文件所对应的路径,以及根据各个单元格的位置,将转换的各个Excel数据插入到xlm文件中。
7.根据权利要求6所述DataTable数据导出到Excel的装置,其特征在于,
进一步包括:构建单元,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的Excel数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的Excel数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的Excel数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的Excel数据。
8.根据权利要求6或7所述DataTable数据导出到Excel的装置,其特征在于,进一步包括:
计算单元,用于计算DataTable中各个单元格的长度;
配置单元,用于将DataTable中每一列上最大长度的单元格对应的长度设置为xml文件中该列的列宽。
9.一种Excel数据导入到DataTable的装置,其特征在于,包括:
第一确定单元,用于确定Excel用于存储数据的xlm文件所对应的路径;
第二确定单元,用于根据Excel用于存储数据的xlm文件所对应的路径,确定xlm文件中各个单元格的位置以及单元格内数据的类型;
转换单元,用于根据各个单元格内数据的类型,将xlm文件中各个单元格中的数据转换为相应类型的DataTable数据;
插入单元,用于根据各个单元格的位置,将转换的各个DataTable数据插入到DataTable中。
10.根据权利要求9所述Excel数据导入到DataTable的装置,其特征在于,
进一步包括:构建单元,用于构建动态链接库ExcelHelper,所述动态链接库ExcelHelper至少包括如下数据类型基础类中的一种或多种:TextCell,DateCell、NumberCell和FormulaCell;
所述转换单元,具体用于:在单元格内数据的类型为文本类型时,则调用TextCell将该单元格中的数据转换为文本类型的DataTable数据;在单元格内数据的类型为日期类型时,则调用DateCell将该单元格中的数据转换为日期类型的DataTable数据;在单元格内数据的类型为数字类型时,则调用NumberCell将该单元格中的数据转换为数字类型的DataTable数据;在单元格内数据的类型为公式类型时,则调用FormulaCell将该单元格中的数据转换为公式类型的DataTable数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710301651.8A CN107122473A (zh) | 2017-05-02 | 2017-05-02 | 一种Excel数据的导入导出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710301651.8A CN107122473A (zh) | 2017-05-02 | 2017-05-02 | 一种Excel数据的导入导出方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107122473A true CN107122473A (zh) | 2017-09-01 |
Family
ID=59726873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710301651.8A Pending CN107122473A (zh) | 2017-05-02 | 2017-05-02 | 一种Excel数据的导入导出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122473A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020052090A1 (zh) * | 2018-09-10 | 2020-03-19 | 深圳市泰洲科技有限公司 | 数据自动导入方法、装置、计算机设备及存储介质 |
CN113065325A (zh) * | 2021-02-26 | 2021-07-02 | 成都环宇知了科技有限公司 | 一种基于OpenXml的Excel文档分析方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760118A (zh) * | 2011-04-25 | 2012-10-31 | 中兴通讯股份有限公司 | 一种将数据导出为Excel文件的方法及装置 |
CN103500196A (zh) * | 2013-09-22 | 2014-01-08 | 成都交大光芒科技股份有限公司 | 多并发大数据量环境下excel数据导出方法及其导出装置 |
CN104077665A (zh) * | 2014-07-10 | 2014-10-01 | 国家电网公司 | 电网工程造价分析数据收集系统及方法 |
US9183317B1 (en) * | 2001-06-20 | 2015-11-10 | Microstrategy Incorporated | System and method for exporting report results from a reporting system |
CN105045775A (zh) * | 2015-08-12 | 2015-11-11 | 深圳联友科技有限公司 | 一种指定格式的Excel文档生成方法及装置 |
CN105808510A (zh) * | 2014-12-31 | 2016-07-27 | 北京航天测控技术有限公司 | 一种调试数据校验方法及装置 |
-
2017
- 2017-05-02 CN CN201710301651.8A patent/CN107122473A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183317B1 (en) * | 2001-06-20 | 2015-11-10 | Microstrategy Incorporated | System and method for exporting report results from a reporting system |
CN102760118A (zh) * | 2011-04-25 | 2012-10-31 | 中兴通讯股份有限公司 | 一种将数据导出为Excel文件的方法及装置 |
CN103500196A (zh) * | 2013-09-22 | 2014-01-08 | 成都交大光芒科技股份有限公司 | 多并发大数据量环境下excel数据导出方法及其导出装置 |
CN104077665A (zh) * | 2014-07-10 | 2014-10-01 | 国家电网公司 | 电网工程造价分析数据收集系统及方法 |
CN105808510A (zh) * | 2014-12-31 | 2016-07-27 | 北京航天测控技术有限公司 | 一种调试数据校验方法及装置 |
CN105045775A (zh) * | 2015-08-12 | 2015-11-11 | 深圳联友科技有限公司 | 一种指定格式的Excel文档生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
ERICFINE: "将DataTable导出为Excel(XML Spreadsheet)", 《HTTPS://BLOG.CSDN.NET/KANGZERUN/ARTICLE/DETAILS/6460257》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020052090A1 (zh) * | 2018-09-10 | 2020-03-19 | 深圳市泰洲科技有限公司 | 数据自动导入方法、装置、计算机设备及存储介质 |
CN113065325A (zh) * | 2021-02-26 | 2021-07-02 | 成都环宇知了科技有限公司 | 一种基于OpenXml的Excel文档分析方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hickson et al. | Html5 | |
US9842099B2 (en) | Asynchronous dashboard query prompting | |
US9367535B2 (en) | Dashboard formula execution | |
Hayman et al. | Mlife users guide for version 1.00 | |
Main | Data structures and other objects using Java | |
CN102609403B (zh) | 按示例格式化数据 | |
CN105787128B (zh) | 一种恢复Java序列化文件数据的方法 | |
TWI423050B (zh) | 用於儲存格的可擴充值型態的電腦實施方法、電腦可讀取儲存媒體和系統 | |
US20140149836A1 (en) | Dashboard Visualizations Using Web Technologies | |
Baum | An introduction to Stata programming | |
CN107924326A (zh) | 对经更新的类型的迁移方法进行覆盖 | |
US9703767B2 (en) | Spreadsheet cell dependency management | |
Loach et al. | A database for storing the results of material radiopurity measurements | |
CN107122473A (zh) | 一种Excel数据的导入导出方法及装置 | |
US20150081748A1 (en) | TABLE APPLICATION PROGRAMMING INTERFACES (APIs) | |
Beazley | Python distilled | |
US20120109911A1 (en) | Compression Of XML Data | |
US7716646B2 (en) | Loading a chain of processors from an XML file | |
Manteigas et al. | ERYA-Bulk and ERYA-Profiling: An application for quantitative PIGE analysis | |
Liu et al. | MatrixConverter: Facilitating construction of phenomic character matrices | |
CN111143450B (zh) | 导入数据的方法和装置 | |
Viswanathan | A guide to using LZO compression in Hadoop | |
Keller et al. | A tractable extension of linear indexed grammars | |
Shepherd | Excel 2007 VBA macro programming | |
US20240070379A1 (en) | Document editor and file format |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170901 |
|
RJ01 | Rejection of invention patent application after publication |