XLSReadWriteII4使用
- 格式:docx
- 大小:35.01 KB
- 文档页数:21
ExcelDataReader 插件的使⽤刚来公司的时候公司软件导⼊导出操作都使⽤微软的office 组件来实现,⼤家应该都知道这个组件有很⼤的弊端,就是运⾏主机上⾯必须安装office 组件才可进⾏使⽤,不然⽆法进⾏导⼊导出操作,之前公司软件部门给的做法就是直接让客户安装Office 就可以解决。
我接⼿后知道这个弊端,将插件进⾏了替换,使⽤⽹上⽐较流⾏的NPOI 插件,基本上很少出现关于软件导⼊导出数据的反馈。
但由于之前的软件需求基本都是少量数据的导⼊导出,NPOI 都可以满⾜,现在新需求要求导⼊导出超过40w ⾏的数据,NPOI 插件就暴露出来弊端,在数据少的时候使⽤.xlsx 的XFFSWorkbook 类就可以实现,但是数据量超过某⼀个阀值,XFFSWorkbook 就出现了异常,爆出内存溢出的消息,⽽且声明和访问时速度特别慢,感觉是组件内部在处理⼤数据⽂件时存在问题。
在⽹上查找发现NPOI 对于⼤数据的处理有⼀个SXSSFWorkbook ,它是NPOI 专门来处理⼤数据⽂件的,我在使⽤过程中,当写⼊时,没问题可以使⽤,但是效率⽅⾯很差。
可是在读取时,根本⽆法使⽤,因为它在使⽤过程中必须声明XFFWorkbook 才可以,可是声明它的话就会遇到内存溢出问题。
⽹上还有说直接使⽤xml 形式来读取,但是xml 格式需要⾃⼰去定义和解析,特别⿇烦,故没有采⽤。
//声明处理.xlsx ⽂件的⽅法(⼩⽂件)IWorkbook workbook=new XSSFWorkbook();//声明处理.xlsx ⽂件的⽅法(⼤⽂件)IWorkbook workbook=new XSSFWorkbook();IWorkbook wb=new SXSSFWorkbook(workbook);在处理读取.xlsx ⽂件时,在nuget 中发现了ExcelDataReader 插件,在做了demo 后,对于40w ⾏的读取很⽅便,⽽且速度特别快。
一、writecellstyle概述writecellstyle是一个功能强大的工具,它可以帮助用户在Excel表格中自定义单元格的样式。
通过writecellstyle,用户可以调整单元格的字体、背景颜色、边框样式等,使得Excel表格看起来更加美观、清晰。
writecellstyle的灵活性和易用性使得它成为了众多Excel用户喜爱的工具之一。
二、writecellstyle的使用方法使用writecellstyle非常简单,用户只需在Excel表格中选中想要修改样式的单元格,然后在writecellstyle工具栏中选择相应的样式调整选项,即可对单元格样式进行修改。
writecellstyle提供了丰富的样式选择,用户可以根据自己的需求调整单元格的字体、颜色、边框等属性,从而使得Excel表格呈现出理想的样式效果。
三、writecellstyle的功能特点1. 丰富的样式选择:writecellstyle提供了多种样式选择,用户可以根据实际需求选择合适的样式进行调整,使得Excel表格的样式更加多样化。
2. 灵活的样式调整:用户可以根据个人喜好和具体需求,自定义单元格的样式,从而满足不同的排版需求。
3. 易于使用:writecellstyle的操作简单直观,用户无需具备专业的技术知识即可轻松上手,快速调整单元格样式,节省时间和精力。
四、如何使用writecellstyle进行单元格样式的调整?1. 打开Excel表格,并选中想要修改样式的单元格。
2. 在writecellstyle工具栏中选择想要调整的样式选项,比如字体、颜色、边框等。
3. 对选中的单元格进行样式调整,直到满意为止。
4. 保存修改后的Excel表格,即可查看调整后的样式效果。
五、writecellstyle的应用场景writecellstyle广泛应用于各种类型的Excel工作表中,比如财务报表、数据分析表、日程安排表等。
Excel 文件读写脚本说明1.单元格属性设置。
Sheets表示一个表单,sheets[0]表示第一个表单。
表单是从0开始的,不是从1开始。
插入数据:2.字体属性设置。
字体颜色和网页上的字体颜色是一致的,可以用$加十六进制的颜色代码来表示。
Cell 单元格Sheets[0]表示第一个表单,cell[0,0]表示单元格A1。
Col表示列,row表示行,都是从0开始。
xls.sheets[0].Cell[col,row].FontName:=’宋体’字体名称括起来。
xls.sheets[0].Cell[col,row].FontColor:=ColorToWebColor()字体颜色,和网页上的字体颜色是一致的,可以用$加十六进制的颜色代码来表示,例如: ColorToWebColor(clblack)黑色ColorToWebColor($8515C7)紫色。
RGB(红绿蓝)调色。
xls.sheets[0].Cell[col,row].FontSize字体大小,对应罗马数字。
例如:10,16xls.sheets[0].Cell[col,row].FontStyle字体风格,共三种,xfsStrikeOutxfsItalic, xfsBold,字体风格:xls.sheets[0].Cell[col,row].FontStyle := 0;0表示普通风格。
xls.sheets[0].Cell[col,row].FontStyle := 1; 1表示加粗。
xls.sheets[0].Cell[col,row].FontStyle := 2; 2表示斜体。
xls.sheets[0].Cell[col,row].FontStyle := 3; 3表示删除线。
xls.sheets[0].Cell[col,row].FontStyle := 4; 4表示加粗加斜体。
xls.sheets[0].Cell[col,row].FontStyle := 5; 5表示加粗加删除线。
xls的用法-回复Excel是一款广泛应用于数据处理和分析的电子表格软件,通过它,用户可以进行数据录入、计算、图表绘制等一系列数据操作。
其中,xls格式是Excel的常见文件格式之一,下面将为您逐步介绍xls的用法。
第一步,打开Excel软件。
在计算机桌面或开始菜单中找到Excel图标,双击打开软件。
如果尚未安装Excel,则需要先下载安装。
第二步,新建一个xls文件。
打开Excel后,会出现一个默认的空白工作簿。
在工作簿上方的菜单栏中,点击“文件”选项,在下拉菜单中选择“新建”。
这将创建一个新的xls文件。
第三步,数据录入。
在xls文件中,您可以在不同的工作表中录入数据。
默认情况下,会有一个名为“Sheet1”的工作表,若要添加更多的工作表,可以点击底部标签栏右侧的“+”按钮。
在工作表中,您可以在不同的单元格中输入数据,每个单元格都有一个唯一的地址,以列字母和行号标识,例如A1、B2等。
第四步,公式计算。
Excel提供了丰富的数学和统计函数,可以在单元格中使用这些函数进行各种计算。
例如,您可以用“=SUM(A1:B2)”计算A1到B2单元格区域的总和,或用“=AVERAGE(A1:A10)”计算A1到A10单元格区域的平均值。
第五步,图表绘制。
Excel提供了多种图表类型,可以帮助用户更直观地展示数据和分析结果。
在xls文件中,选中要制作图表的数据区域,然后点击菜单栏的“插入”选项,在下拉菜单中选择适合的图表类型。
随后,Excel会根据选中的数据自动生成相应的图表。
第六步,数据格式化。
Excel允许用户对数据进行格式化,使其更易读、更美观。
选中要格式化的单元格、单元格区域或整个工作表,点击菜单栏的“开始”选项,在下拉菜单中可以选择字体、颜色、边框、对齐方式等格式化选项。
第七步,数据筛选和排序。
在xls文件中,您可以按照特定条件对数据进行筛选和排序,以满足分析和筛选的需求。
在数据区域上方的菜单栏中,点击“数据”选项,在下拉菜单中可以选择筛选、排序或自定义筛选等选项。
qxlsx用法qxlsx是一个功能强大的C++库,用于读取和写入Excel文件。
它提供了一种简单而灵活的方式来处理电子表格数据,使开发人员能够轻松操作和管理Excel文件。
1. 安装qxlsx库:要使用qxlsx库,首先需要安装它。
可以从qxlsx的官方网站或GitHub页面下载最新的源代码,并按照提供的文档进行编译和安装。
2. 创建和打开Excel文件:使用qxlsx库,可以轻松地创建和打开Excel文件。
可以使用QXlsx::Document类来创建一个新的Excel文件,也可以使用QXlsx::Document类的load()函数打开一个已存在的Excel文件。
3. 读取Excel文件:qxlsx库提供了许多方法来读取Excel文件中的数据。
可以使用QXlsx::Document类的read()函数读取指定单元格中的数据,也可以使用QXlsx::Document类的dimension()函数获取电子表格的维度,进而遍历整个电子表格。
4. 写入Excel文件:qxlsx库同样提供了丰富的方法来写入Excel文件。
可以使用QXlsx::Document类的write()函数将数据写入指定单元格,也可以使用QXlsx::Document类的writeStringList()函数将字符串列表写入一列。
5. 格式化Excel文件:qxlsx库支持对Excel文件进行各种格式化操作。
可以使用QXlsx::Format类设置单元格的字体、背景色、边框等属性,以美化Excel文件的外观。
6. 处理Excel文件的公式和图表:qxlsx库还支持处理Excel文件中的公式和图表。
可以使用QXlsx::Document类的writeFormula()函数将公式写入单元格,也可以使用QXlsx::Document类的insertChart()函数插入图表。
7. 保存和关闭Excel文件:使用qxlsx库,可以通过调用QXlsx::Document类的save()函数将修改后的Excel文件保存到硬盘,也可以使用QXlsx::Document 类的close()函数关闭Excel文件。
excelutil.readbysax 读取时空列处理如何使用excelutil.readbysax读取时空列并进行处理?第一步:了解excelutil.readbysaxExcelUtil是一个常见的Excel操作工具类,它提供了一些简单而强大的方法来读取和操作Excel文件。
其中,readbysax是ExcelUtil类中的一个方法,它使用SAX解析器来读取Excel文件,相对于使用DOM解析器来说,它具有更高的效率和更低的内存占用。
第二步:准备工作在开始使用excelutil.readbysax读取时空列之前,我们需要进行一些准备工作。
首先,我们需要导入ExcelUtil类和相关的库文件。
其次,我们需要准备一个Excel文件,其中包含我们要读取的时空列数据。
第三步:读取时空列数据使用excelutil.readbysax读取时空列数据的步骤如下:1. 实例化一个ExcelUtil对象,并通过构造方法传入Excel文件的路径。
2. 调用read方法,开始读取Excel文件。
read方法会使用SAX解析器逐行读取Excel文件中的数据。
3. 在每读取一行数据之后,我们可以通过遍历获取到每一列的数据。
根据我们的需求,找到时空列的位置。
4. 获取时空列的数据,并进行处理。
这包括数据清洗、数据格式转换、数据分析等操作。
第四步:数据处理在获取到时空列的数据之后,我们可以进行各种数据处理操作。
以下是一些常见的数据处理方法:1. 数据清洗:对数据进行去重、去空、去噪声等操作,确保数据的准确性和一致性。
2. 数据格式转换:将数据转换成我们需要的格式,比如将日期格式统一为yyyy-MM-dd,将字符串转换为数字等。
3. 数据分析:通过统计、计算、可视化等方法对数据进行分析,从中发现规律、趋势和异常值等。
4. 数据导出:将处理后的数据导出到另一个Excel文件或者其他数据源中,以供后续使用。
第五步:完善代码在进行数据处理之前,我们需要编写完善的代码来实现我们的功能。
exceldatareader 用法ExcelDataReader是一个用于读取Excel文件的开源库。
它提供了一个简单易用的接口,使我们能够轻松地从Excel文件中提取数据。
要使用ExcelDataReader,首先需要将其安装到我们的项目中。
可以使用NuGet 包管理器将ExcelDataReader安装为项目的依赖项。
安装完成后,我们需要在代码中添加对ExcelDataReader的引用。
现在,让我们来看看如何使用ExcelDataReader来读取Excel文件中的数据。
首先,我们需要创建一个ExcelDataReader对象,并打开我们要读取的Excel文件。
例如,如果我们的Excel文件名为“example.xlsx”,则我们可以使用以下代码来打开它:```csharpusing ExcelDataReader;using System.Data;using System.IO;string filePath = "example.xlsx";// 创建一个文件流using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read)){// 创建ExcelDataReader对象using (var reader = ExcelReaderFactory.CreateReader(stream)){// 读取整个Excel文件,并将其存储在一个数据集中DataSet result = reader.AsDataSet();// 现在,我们可以根据需要从数据集中提取数据并进行处理// 例如,访问第一个工作表的第一个单元格string cellValue = result.Tables[0].Rows[0][0].ToString();// 通过循环遍历工作表中的所有数据行foreach (DataRow row in result.Tables[0].Rows){// 访问每行的列数据foreach (var item in row.ItemArray){// 处理每个单元格的数据Console.WriteLine(item.ToString());}}}}```上述代码中的`example.xlsx`是我们要读取的Excel文件的相对路径。
sxssfworkbook读取excel用法-回复SXSSFWorkbok是Apache POI开发的一个针对大数据量Excel文件的读写工具。
在处理大型Excel文件时,传统的XSSFWorkbook可能会导致内存溢出,而SXSSFWorkbook则能够在内存使用上做出一定的优化。
一、什么是Apache POI?Apache POI是一个开源的Java API库,用于操作Microsoft Office格式的文件,包括Excel、Word和PowerPoint等。
Apache POI提供了一组类和方法,使得我们能够读取和写入Excel文件,操作单元格、行和列,设置样式和格式等。
二、为什么需要SXSSFWorkbook?在处理大型Excel文件时,通常会出现内存溢出的问题。
这是因为传统的XSSFWorkbook是将整个Excel文件加载到内存中,对内存的消耗较高,并且当Excel文件较大时,加载整个文件可能会导致内存溢出的问题。
SXSSFWorkbook是Apache POI在XSSFWorkbook的基础上进行了优化,采用了流式处理的方式来读写Excel文件。
它的设计理念是将Excel 文件拆分成多个片段,每次只处理一部分数据,然后将其写入临时文件,从而减少了对内存的消耗。
因此,SXSSFWorkbook适用于处理大型Excel文件,可以有效地解决内存溢出的问题。
三、SXSSFWorkbook的基本用法1. 导入必要的类库首先,我们需要在项目中导入Apache POI相关的类库,包括poi、poi-ooxml和poi-ooxml-schemas等。
2. 创建SXSSFWorkbook对象使用SXSSFWorkbok的构造方法可以创建一个SXSSFWorkbook对象,例如:javaSXSSFWorkbook workbook = new SXSSFWorkbook();3. 设置临时文件存储路径SXSSFWorkbook会将数据写入临时文件,默认存储路径是系统的临时文件夹。
Python使⽤xlrd和xlwt读取和写⼊excel详细教程安装pip install xlrdpip install xlwtpip install xlutils导⼊import xlrdimport xlwtimport xlutils读取excel# ----读取excel----data= xlrd.open_workbook(excel_file)读取sheet# ----读取sheet----# 通过索引顺序获取sheettable = data.sheets()[0]# 通过索引顺序获取sheettable = data.sheet_by_index(0))# 通过名称获取sheettable = data.sheet_by_name("sheet")# 返回book中所有sheet的名字names = data.sheet_names()# 传⼊索引或sheet名检查某个sheet是否导⼊完毕table.sheet_loaded("sheet")table.sheet_loaded(0)# sheet名# sheet列数table.ncols# sheet⾏数table.nrows读取sheet的⾏# 返回由rowx⾏中所有的单元格对象组成的列表table.row(rowx)# 获取rowx⾏第⼀个单元格的类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空⽩表格)table.row(rowx)[0].ctype# 获取rowx⾏第⼀个单元格的值table.row(rowx)[0].value# 返回由rowx⾏中所有的单元格对象组成的列表table.row_slice(self, rowx, start_colx=0, end_colx=None)# 返回由rowx⾏中所有单元格的数据类型组成的列表table.row_types(rowx, start_colx=0, end_colx=None)# 返回由rowx⾏中所有单元格的数据组成的列表table.row_values(rowx, start_colx=0, end_colx=None)# 返回rowx⾏的有效单元格长度table.row_len(rowx)读取sheet的列#返回colx列中所有的单元格对象组成的列表table.col(colx, start_rowx=0, end_rowx=None)#返回colx列中所有的单元格对象组成的列表table.col_slice(colx, start_rowx=0, end_rowx=None)#返回colx列中所有单元格的数据类型组成的列表table.col_types(colx, start_rowx=0, end_rowx=None)#返回colx列中所有单元格的数据组成的列表table.col_values(colx, start_rowx=0, end_rowx=None)读取sheet的单元格# 返回单元格对象cell = table.cell(rowx,colx)# 单元格数据类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空⽩表格)cell.ctype# 单元格值cell.value# 返回单元格中的数据类型table.cell_type(rowx,colx)# 返回单元格中的数据table.cell_value(rowx,colx)# 暂时还没有搞懂table.cell_xf_index(rowx, colx)写⼊excel# 使⽤xlutils将xlrd读取的对象转为xlwt可操作对象,table即上述xlrd读取的tableworkbook = xlutils.copy(table)# 或者如果你只是想创建⼀张空表workbook = xlwt.Workbook(encoding = 'utf-8')# 创建⼀个sheetworksheet = workbook.add_sheet('sheet')# 获取⼀个已存在的sheetworksheet = workbook.get_sheet('sheet')# 写⼊⼀个值,括号内分别为⾏数、列数、内容worksheet.write(row, column, "memeda")workbook.save('memeda.xls')带样式写⼊⽰例workbook = xlwt.Workbook(encoding = 'utf-8')style = xlwt.XFStyle()font = xlwt.Font() # 创建字体 = 'Arial'font.bold = True # ⿊体font.underline = True # 下划线font.italic = True # 斜体字font.colour_index = 2 # 颜⾊为红⾊style.font = fontworksheet.write(row, column, "memeda", style)workbook.save('memeda.xls')输出多种颜⾊字体import xlwtworkbook = xlwt.Workbook(encoding='utf-8')def get_style(i):style = xlwt.XFStyle()font = xlwt.Font() # 创建字体font.colour_index = istyle.font = fontreturn stylesheet = workbook.add_sheet("memeda")for i in range(0, 100):sheet.write(i, 0, "memeda", get_style(i))workbook.save('memeda.xls')import xlrdimport osfile = os.getcwd()+'\\pp.xls'def read_excel():wb = xlrd.open_workbook(filename=file)#打开⽂件# 通过碎银获取sheeltable = wb.sheets()[0]print(table)table = wb.sheets()[1]print(table)# 通过索引顺序获取sheettable = wb.sheet_by_index(0)print()print(table.ncols)print(table.read)print(table)table = wb.sheet_by_index(1)print(table)# 通过名称获取sheettable = wb.sheet_by_name("Sheet1")print(table)table = wb.sheet_by_name("Sheet2")print()# 返回book中所有sheet的名字table = wb.sheet_names()print(table)# 传⼊索引或sheet名检查某个sheet是否导⼊完毕ta = wb.sheet_loaded("Sheet1")print(ta)ta = wb.sheet_loaded(0)print(ta)table = wb.sheet_by_index(0)rowx = 0# 返回由rowx⾏中所有的单元格对象组成的列表print(table.row(rowx))# 获取rowx⾏第⼀个单元格的类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空⽩表格)print(table.row(rowx)[0].ctype)# 获取rowx⾏第⼀个单元格的值print(table.row(rowx)[0].value)# 返回由rowx⾏中所有的单元格对象组成的列表print(table.row_slice(rowx, start_colx=0, end_colx=None))# 返回由rowx⾏中所有单元格的数据类型组成的列表print(table.row_types(rowx, start_colx=0, end_colx=None))# 返回由rowx⾏中所有单元格的数据组成的列表print(table.row_values(rowx, start_colx=0, end_colx=None))# 返回rowx⾏的有效单元格长度print(table.row_len(rowx))# 返回colx列中所有的单元格对象组成的列表colx = 0print(table.col(colx, start_rowx=0, end_rowx=None))# 返回colx列中所有的单元格对象组成的列表print(table.col_slice(colx, start_rowx=0, end_rowx=None))# 返回colx列中所有单元格的数据类型组成的列表print(table.col_types(colx, start_rowx=0, end_rowx=None))# 返回colx列中所有单元格的数据组成的列表print(table.col_values(colx, start_rowx=0, end_rowx=None))# 读取sheet的单元格# 返回单元格对象print(table.cell(rowx, colx))# 单元格数据类型# 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空⽩表格)print(table.cell(rowx, colx).ctype)# 返回单元格中的数据类型print(table.cell_type(rowx, colx))# 返回单元格中的数据print(int(table.cell_value(rowx+5, colx+4)))# 返回单元格中的数据if__name__ == '__main__':read_excel()。
1. c++和Qt读写Excel的例子在现代的软件开发中,数据处理和管理是非常重要的一部分。
在许多应用程序中,Excel表格是最常用的数据存储和处理方式之一。
许多开发者需要使用C++和Qt来读写Excel表格。
在本文中,我将首先介绍C++和Qt对Excel的读写支持,然后给出一个具体的例子,深入了解如何在C++和Qt中实现对Excel的读写操作。
2. C++对Excel的支持在C++中,使用第三方库可以实现对Excel的读写支持。
其中比较常用的库有LibXL和xlsxwriter等。
这些库可以让开发者直接使用C++语言对Excel进行各种操作,如创建、读取和修改Excel表格。
3. Qt对Excel的支持Qt是一个跨评台的C++应用程序开发框架,它提供了丰富的工具和库来简化应用程序的开发。
Qt中的QtXlsx模块可以让开发者直接在Qt 应用程序中对Excel进行读写操作。
这使得在Qt应用程序中处理Excel表格变得更加简单和方便。
4. C++和Qt读写Excel的例子假设我们有一个需求,需要在一个Qt应用程序中实现对Excel表格的读取和修改。
我们可以通过以下步骤来实现:4.1 创建一个Qt工程我们需要创建一个Qt工程,包括一个窗口界面和相应的逻辑代码。
4.2 导入QtXlsx模块在工程中导入QtXlsx模块,该模块提供了对Excel的读写支持。
4.3 读取Excel表格通过QtXlsx模块,我们可以使用Qt的方式来读取Excel表格中的数据。
我们可以按照指定的行列来读取数据,并将数据显示在界面上。
4.4 修改Excel表格如果需要对Excel表格进行修改,我们可以通过QtXlsx模块提供的接口来实现。
我们可以修改指定单元格的数值或文本,并将修改后的数据保存到Excel表格中。
4.5 总结和回顾通过这个例子,我深入了解了在C++和Qt中实现对Excel表格的读写操作。
在实际项目中,我们可以根据需求使用C++和Qt提供的相关库来实现对Excel的各种操作。
这是自带的一个例子,看懂这一点东西,基本的操作应该没问题了....unit Main;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, XLSReadWriteII4, XLSFonts4, CellFormats4, BIFFRecsII4;typeTfrmMain = class(TForm)Label1: TLabel;Button1: TButton;edFilename: TEdit;Button2: TButton;Button3: TButton;dlgSave: TSaveDialog;XLS: TXLSReadWriteII4;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);privateprocedure AddFormats;public{ Public declarations }end;varfrmMain: TfrmMain;implementation{$R *.dfm}procedure TfrmMain.AddFormats;begin(*Format a single cell*)(* 显示字符串 *)XLS.Sheets[0].AsString[0,1] := 'Cell 1';(* 字符串颜色 *)XLS.Sheets[0].Cell[0,1].FillPatternForeColor := xcYellow;(* 字体 *)XLS.Sheets[0].Cell[0,1].FontStyle := [xfsBold,xfsItalic];(*Format a number cell (3 decimals and thousand separator)(* 格式化字符串,显示小数点后三位,千位和百位之间加个空格 *)XLS.Sheets[0].AsFloat[0,0] := 12335985394.895634;XLS.Sheets[0].Cell[0,0].NumberFormat := '# ##0.000';(* Write a string cell. *)XLS.Sheet[0].AsStringRef['C2'] := 'Hello';(* 单元格赋值 *)(* Set the font size of the cells in the area.(* 改变区域内的字体大小 *)XLS.Sheet[0].Range.Items[1,0,3,3].FontSize := 14;(* Set the color of the cells. *)(* 设置区域的颜色 *)XLS.Sheet[0].Range.ItemsRef['B1:D4'].FillPatternForeColor := xcYellow;(* Set a outline border. *)(* 设置外框线的外形、颜色 *)XLS.Sheet[0].Range.ItemsRef['B1:D4'].BorderOutlineStyle := cbsThick; (* Set color of the outline border. *)XLS.Sheet[0].Range.ItemsRef['B1:D4'].BorderOutlineColor := xcRed; (* Make a copy of the cells. *)(* 区域复制 *)XLS.Sheet[0].Range.ItemsRef['B1:D4'].Copy(8,10);(* Move the cells. *)(* 区域移动 *)XLS.Sheet[0].Range.ItemsRef['B1:D4'].Move(8,2);end;procedure TfrmMain.Button1Click(Sender: TObject);beginAddFormats;XLS.Filename := edFilename.Text;(* 保存文件 *)XLS.Write;end;procedure TfrmMain.Button2Click(Sender: TObject);begindlgSave.FileName := edFilename.Text;if dlgSave.Execute thenedFilename.Text := dlgSave.FileName;end;procedure TfrmMain.Button3Click(Sender: TObject);beginClose;end;end./////////////////////////////////////////////////////////////////////////////////////Delphi中使用XlsReadWriteII在Delphi中读取Excel文件,使用CreateOleObject的方式挺讨厌的,一直搞不定,输出了文件之后,总会在系统中打开一个Excel,就算Quit也不行,一个程序中使用的多了,还不定搞出什么事情来。
狠狠心找个其它的东西来代替,于是发现了XlsReadWriteII。
使用之后发现这个东西真不错,简单好用。
不管是读还是写均轻松搞定。
下面是Demo中的代码。
写文件代码,包括对格式的定制:XLS.Filename := 'FormatSample.xls';XLS.Clear;// Add format #0//先添加格式即ForMat:控件有一个默认的格式,序号为0,以后每添加一个,序号就加1with XLS.Formats.Add do beginFontIndex := XLS.Fonts.AddIndex;XLS.Fonts[FontIndex].Name := 'Courier new'; XLS.Fonts[FontIndex].Size := 14;XLS.Fonts[FontIndex].Color := xcRed;end;// Add format #1with XLS.Formats.Add do beginFontIndex := XLS.Fonts.AddIndex;XLS.Fonts[FontIndex].AssignTFont(Font); end;// Add format #2with XLS.Formats.Add do begin FillPatternForeColor := xcLilac;end;// Add format #3with XLS.Formats.Add do begin BorderTopColor := xcBlue; BorderBottomColor := xcBlue; BorderTopStyle := cbsThin; BorderBottomStyle := cbsThick;end;// Add format #4// ShortDateFormat is a Delphi global variable for the local date format.with XLS.Formats.Add do beginNumberFormat := ShortDateFormat;end;XLS.Sheets[0].WriteString(1,2,0,'Format #0');XLS.Sheets[0].WriteString(1,3,1,'Format #1');XLS.Sheets[0].WriteString(1,4,2,'Format #2');XLS.Sheets[0].WriteString(1,5,3,'Format #3');XLS.Sheets[0].WriteNumber(1,6,4,Date);XLS.Write; //如果需要另存为一个文件,改FileName之后再写一次,如需更改工作簿的名称,设置Sheets[0].Name就可以了。
读取文件代码:varCol,Row: integer;Sum: double;beginif edFilename.Text = '' then beginShowMessage('Filename is missing');Exit;end;Sum := 0;XLS.Filename := edFilename.Text;XLS.Read; //此行不能省,否则读取不到数据XLS.Sheets[0].LastCol := 255;XLS.Sheets[0].LastRow := 65535;for Col := XLS.Sheets[0].FirstCol to XLS.Sheets[0].LastCol do beginfor Row := XLS.Sheets[0].FirstRow to XLS.Sheets[0].LastRow do beginif (Row < Grid.RowCount) and (Col < Grid.ColCount) thenGrid.Cells[Col + 1,Row + 1] := XLS.Sheets[0].AsFmtString[Col,Row];if XLS.Sheets[0].CellType[Col,Row] = ctFloat thenSum := Sum + XLS.Sheets[0].AsFloat[Col,Row];end;end;lblSum.Caption := Format('The sum of all numeric cells are: %.2f',[Sum]); Grid.Invalidate;end;///////////////////////////////////////////////////////////////////////// XLsReadWrite 制作Excel时控制列的的格式分类:delphi2011-08-06 14:35116人阅读评论(0)收藏举报最近研究下XlsReadWrite控件的使用。