将数据集转换为Excel格式的一个实现

利用python实现Excel文件转换为TXT文件 在处理数据的时候经常需要读取TXT文件类型的数据转换为可执行的list,但是当我们有Excel的文件,如何将Excel文件转换为每行固定长度的TXT文件呢!如果数据量很少的情况下,人工处理还好,可是在大数据的情况下就显得不可能了,这时如果我们利用程序执行这一命令就轻松多了,废话不多少,下面介绍代码。首先在python中import两个必要的包(我们面向的对象是.csv的Excel文件)import... 阅读详情

{
将数据集转换为Excel格式的一个实现

在做项目时,很多情况下,客户需要对我们保存在数据库中的数据再加工再利用,
如财务需要一份今年财务情况的电子报表,总经理需要今年销售情况的一个电子报表。
我们的程序可以把这些数据用DBGrid显示出来,也可以用QuickReport打印出来,但是
这些数据都不能被客户自由的完整地拷贝,没有独立的电子化形式,因而不能被独立地使用。

要把数据库中的数据,在Delphi中也就是数据集,转换为独立的电子化形式,
我们可以有几个选择:利用CLientDataSet把数据集保存为CDS文件或XML文件;自己做转换。

前者的这两种文件格式都需要专门的程序才能查看,虽然XML是通用的数据交换格式,
但是对于需要直接使用数据的一般客户却未必适用。因此我们需要把数据集转换为客户可以可以
轻易使用的文件格式。而微软的Office办公套件中的Excel是许多客户都比较熟悉的,因此我们
选择把数据集转换为Excel格式,然后让客户利用Excel的强大功能对数据进行浏览,再处理。
例如,客户利用这些数据来完全定制自己的报表,如加入丰富的排版格式和定制的标题,
添加数据的柱状视图等等。同时客户还可以在自己的各种办公软件如Word中把这些数据拷来拷去。

好了,我们开始设计吧。 首先确定目标需求:

输入:TDataSet或其派生类 (TTable,TQuery,TClientDataSet,TADODataSet...)
输入:Excel格式的文件 (*.xls)
特性:可以控制Excel是否可见,以便让用户马上可以看到Excel中的数据
可以控制TDataSet中的哪些字段不输出到Excel中去
包含字段标题

其中的关键是:如何生成一个Excel格式的文件以及如何往其中写入数据 ?

Excel可以用作OLE服务器,向外部输出某些属性,方法和事件。
Delphi可以利用这些功能,实现与Excel的集成。

微软的Excel对象模型包括了128个不同的对象,从矩形,文本框等简单的对象到透视表,图表等复杂的对象.
下面我们简单介绍一下其中最重要,也是用得最多的四个对象.这些都可以在Excel的VBA中找到完整的文档

1. Application对象
Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境.
2. Workbook对象
Workbook对象直接地处于Application对象的下层,表示一个Excel工作薄文件.
3. Worksheet对象
Worksheet对象包含于Workbook对象,表示一个Excel工作表.
4. Range对象
Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格.
某一个单元格内的数据还可以用Sheet.Cells(Row,Col)来引用

在Delphi中,可以用OleVariant变量来创建这些对象。

为了控制哪些字段才能输出到Excel中去,我们利用字段的一个属性Tag,如果它小于
等于我们指定的某个值,就输出到Excel中去,否则不输出。如果你的DataSet没有添
加永久字段对象,那么所有字段的Tag值都是0。如果你添加了永久字段对象,就可以
控制每个字段的Tag值和输出标题的DisplayLabel属性。



具体的函数设计:
1、DataSetToExcelSheet : 把数据集转换到Sheet对象中,没有用户界面。
2、DataSetToExcel :调用DataSetToExcelSheet,把数据集转换到Excel文件中,
具有用户界面,如弹处对话框,错误提示,显示Excel等。


该程序在Delphi4,5下编译通过,已被用在多个项目中。还被集成在笔者所写的一个小组件TDBNavigateButton中

使用实例:
DataSetToExcel( Table1, 0, False, 'Hello1.xls' );
DataSetToExcel( Table1, 2, True);

}
代码:

{-------------------------------------------------------------------------------------------------
单元:ExcelTools 
作者:Bear 
功能:保存数据集,如TTable,TQuery,TClientDataSet等为Excel文件, 
          包含标题,可以只将一部分字段导出 
          这一点通过设置DataSet中要不导出字段的Tag值大于某一个值来处理 
原理:调用 Microsoft Excel Ole对象 
调用方式: 
          Function DataSetToExcel( 
                       DataSet:TDataSet; 
                       FieldTagMax:Integer; 
                       Visible:Boolean; 
                       ExcelFileName:String='' 
                   ): Boolean;
--------------------------------------------------------------------------------------------------} 

unit ExcelTools;

interface 

uses
  classes, comctrls, stdctrls, windows, Dialogs, controls, SysUtils,
  Db,forms,DBClient,ComObj;

//把数据集导入ExcelSheet的核心函数 
function DataSetToExcelSheet 
            ( 
             DataSet     :TDataSet; 
             FieldTagMax :Integer;    <

LibSVM格式简介和利用Excel与CSV/XLS格式转换 最近在spark上研究决策树类算法,发现给的决策树的demo使用到了libsvm dataset,便查阅了相关的资料。相关内容如下:1、什么是libsvm LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用 阅读详情

相关推荐

Jason转换为Excel格式的实践指南

在现代信息处理领域,数据格式的标准化至关重要,而JSON(JavaScript Object Notation)已成为数据交换的流行格式。由于其轻量级和易于阅读的特性,JSON被广泛用于Web应用程序中前后端的数据交换。本章将介绍JSON的基本概念及其在数据处理中的应用。Excel作为数据处理和分析的重要工具,其数据的组织结构是理解和使用Excel的基础。在这一小节中,将详细介绍单元格、行、列的概念以及公式和函数在Excel中的应用。宏是记录的指令集合,可以在Excel中自动化重复的任务。

weixin_42230607的博客 957

UCI数据集excel格式

UCI数据库的一些基准数据集,处理成excel格式了,可以直接在matlab中读取,适用于模式识别和机器学习的算法。

国家电子病例标准数据集.xlsx

国家电子病例标准数据集,是整理出来的EXCEL版本,包含个元数据、子集等

将数据集中的数据导到EXCEL中

将数据导入Excel的一个通用单元,其中包含源码程序。

基于知识图谱的电影推荐系统——Neo4j&Python

也可直接从这里下载:链接: https://pan.baidu.com/s/1l6wjwcUzy5G_dIlVDbCkpw 提取码: pkq6。修改main.py中的driver,输入自己数据库的用户名与密码。系统会询问是否需要重新加载并创建知识图谱,在第一次时输入1。

weixin_46351593的博客 6355

【Matlab 六自由度机器人】基于改进型D-H参数的运动学建模与蒙特卡洛工作空间分析

本文详细介绍了如何使用改进型D-H参数法为六自由度机器人建立运动学模型,并利用Matlab Robotics Toolbox实现正运动学计算与可视化。通过蒙特卡洛法对机器人工作空间进行分析,生成三维点云图以直观展示其可达范围,为机器人选型与任务规划提供关键依据。

weixin_29040367的博客 438

RoCE Overlay

1. RoCE over vxlan 配置vxlan封装的RoCE流量,可以在PF switchdev模式下利用ovs bridge,或直接设置tc rules。下面将基于一对NIC互联的服务器介绍两种方式的使用,并分析封装后的数据包结构。 1.1. 基本配置 - VF与switchdev 首先创建VF,并为两个host设置PF的switchdev模式。使用ovs bridge或tc rules,...

sunshuying1010的博客 3061

WIN下使用visual studio 2022安装GMSSL命令行工具

2.1 使用管理员权限打开visual studio(非常重要,否则最后一步 nmake install会失败)右键vs2022,以管理员身份运行即可。2.4 配置环境变量,gmssl可执行程序默认会被安装到如下目录。将如下路径添加到系统环境变量即可。添加后的环境变量如下。2.编译解压后的gmssl源码,编译过程主要参考install.md中的内容,README.md中的步骤不完整。2.2 打开vs2022的命令终端,右键文件,选择在终端中打开。1.下载gmssl源码,解压到相应目录。

qq_45794382的博客 1269

深信服技术认证“SCCA-C”划重点:信服云托管云

该认证包括云数据中心基础、云计算基础、云计算关键技术、云计算交付和运维体系、云计算技术商业应用、信服云托管云、深信服超融合HCI、深信服桌面云aDesk、深信服分布式存储EDS、深信服应用交付AD。学习并获得SCCA-C认证后,可以具备深信服产品功能原理与实践,能够根据业务需求,协助完成云产品方案落地与实施;能够根据业务需求,完成深信服云产品的部署和管理的基本工作。为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。

sangfor_edu的博客 613

lammps多晶正弦粗糙界面建模

其中,30可以理解为正弦曲线的幅度,150为正弦曲线的基准坐标值,80控制周期,改变参数多试试就能找到规律。很久之前介绍过lammps粗糙界面建模,主要是在lammps中进行一维和二维的正弦粗糙面建模。运行完成后,会生成final.data,这个模型即为上表面为正弦波动的粗糙界面。新建1.py文件,粘贴下面内容后,运行:python 1.py。多晶需要在atomsk中进行,因此上述的方法就不再适用。最近有学员咨询多晶模型的正弦粗糙界面建模应该如何实现。在cmd窗口按顺序运行以下命令创建多晶模型。

lammps_jiayou的博客 387

DSP篇--C6678功能调试系列之EDMA3调试

EDMA主要用于数据的搬运,发送、接收,其搬运数据的形式有;AB模式,ABC模式以及ping-pong模式。 EDMA3分初始化、参数配置、以及中断配置。其中中断配置则需要注意的内容主要有:挂载的TC通道,对应的触发事件,以及中断的使能。

nanke_yh的博客 1720

Allegro16.6详细教程(二)

3-D Viewer,可以直接在allegro中看到board file的3-D顯示效果。3-D Viewer對於PCB Editor Products,只有環境變數中的OpenGL顯示功能開啟後才有效,而對於APD/SiP是無效的。2.3-D viewer是在一個獨立的視窗中打開的。3-D environment環境支援多種顯示內容的過濾,取景視角和顯示效果的選項,透過遊標可以直接控制放大,移動,翻轉等操作。

axingxiansen的博客 1917

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 界面设计与测试规则
下一篇: 极限编程 Extreme Programming (中英文对照)图形解释
SafeF8
博客等级 码龄22年 10粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值