unit OpExcell;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XLSReadWriteII2, QFileCtrls, OleCtrls, DB, ADODB, CellFormats2,
XLSFonts2, BIFFRecsII2, Rows2;

type

TStringArray = array of array of string;

TOpExcell = class(TObject)
public
function ReadXLSII(var Content: TStringArray; fileName: string): BOOL; //读excel表格
function WriteXLSII(var Content: TStringArray; fileName: string): BOOL; //写excel表格

end;

implementation

function TOpExcell.ReadXLSII(var Content: TStringArray; fileName: string): BOOL;
var
iR, iC, i, j: Integer;
XLS: TXLSReadWriteII2;
begin
Result := True;
XLS := TXLSReadWriteII2.Create(nil);
XLS.fileName := fileName;
XLS.Read;
//得到行列
iR := XLS.Sheets[0].LastRow;
iC := XLS.Sheets[0].LastCol;
try
SetLength(Content, iR + 1, iC + 1);
for i := 0 to iR do
begin
for j := 0 to iC do
begin
Content[i, j] := XLS.Sheets[0].AsString[j, i];
end;
end;
except
Result := False;
end;
if Assigned(XLS) then
begin
XLS.Destroy;
end;
end;

function TOpExcell.WriteXLSII(var Content: TStringArray; fileName: string): BOOL;
var
iR, iC, i, j: Integer;
XLS: TXLSReadWriteII2;
begin
XLS := TXLSReadWriteII2.Create(nil);
XLS.fileName := fileName;
try
try
iR := Length(Content);
iC := Length(Content[0]);
for i := 0 to iR - 1 do
begin
for j := 0 to iC - 1 do
begin
XLS.Sheets[0].AsString[j, i] := Content[i, j];
end;
end;
XLS.Write;
Result := True;
except
Result := False;
end;
finally
XLS.Destroy;
end
end;
end.

转Delphi中XLSReadWrite控件的使用(3) 读和写Excel的更多相关文章

  1. [转载]: delphi中XLSReadWrite控件的使用(1)---简介

    XLSReadWrite控件简介: 一个你需要的,能在Delphi和.NET下访问Excel文件的完美解决方案. 一个经典的读写Excel的控件,对于使用Excel 开发很有帮助 官方网站: http ...

  2. 转Delphi中XLSReadWrite控件的使用(1)---简介

    XLSReadWrite控件简介: 一个你需要的,能在Delphi和.NET下访问Excel文件的完美解决方案. 一个经典的读写Excel的控件,对于使用Excel 开发很有帮助 官方网站: http ...

  3. [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

    一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...

  4. [转载]: delphi中XLSReadWrite控件的使用(3)---基本应用

    这是自带的一个例子,看懂这一点东西,基本的操作应该没问题了.... unit Main; interface uses Windows, Messages, SysUtils, Variants, C ...

  5. 转 Delphi中XLSReadWrite控件的使用(2)---基本应用

    unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

  6. Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决

    Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决 EmbeddedWBWebBrowserDelphi  最近用E ...

  7. Delphi中TxmlDocument控件的用法 转

    Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面. 在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解. 1<?xm ...

  8. delphi中panel控件应用

    delphi中的panel控件是怎么使用的?研究了很久了,还是搞不懂,只知道把它放到form上面,其他操作一律不懂了,有谁可以请教一下,如何把其他控件放到里面去呢?谢谢 提问者采纳   直接把控件放到 ...

  9. delphi中DateTimePicker控件同时输入日期和时间

    将DateTimePicker的Format属性中加入日期格式设成 'yyyy-MM-dd HH:mm',注意大小写 , 将kind设置为dtkTime即可,可以在每次Form onShow时将Dat ...

随机推荐

  1. cvc-complex-type.2.4.a: Invalid content was found starting with element 'async-supported'

    <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springfr ...

  2. java中的getProperty()方法。获取系统中属性名为key的属性对应的值

    总结:getProperty方法:获取系统中属性名为key的属性对应的值,系统中常见的属性名以及属性如下: 现在用getProperty()的方法,获取系统信息代码: package com.aaa; ...

  3. chrome浏览器,调试详解,调试js、调试php、调试ajax

    1.可以看到js报错 2.可以看到php报错 3.可以看到ajax返回的信息,以及报错情况 4.可以看到调用了那些内容以及顺序 5.可以调试js代码 6.可以查看session等等 功能非常之强大. ...

  4. Java中的阻塞和非阻塞IO包各自的优劣思考(经典)

    Java中的阻塞和非阻塞IO包各自的优劣思考 NIO 设计背后的基石:反应器模式,用于事件多路分离和分派的体系结构模式. 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个 ...

  5. highcharts钻取例子

    <!doctype html> <html lang="en"> <head> <script type="text/javas ...

  6. javascript好文分享

    JavaScript精华 http://www.cnblogs.com/jesse2013/p/the-part-of-javascript-you-must-know.html JavaScript ...

  7. KMP算法详解(转)

    转自http://www.matrix67.com/blog/archives/115 通常我们的方法是枚举从A串的什么位置起开始与B匹配,然后验证是否匹配.假如A串长度为n,B串长度为m,那么这种方 ...

  8. Protege4.3使用入门(一)

    1.下载 下载地址http://protege.stanford.edu/download/protege/4.3/installanywhere/Web_Installers/,目前版本信息Prot ...

  9. 基于Halcon的一维条码识别技巧

    Bar Code 条形码 1.clear_all_bar_code_models    清除所有条形码模型释放内存clear_all_bar_code_models( : : : )2.clear_b ...

  10. 改变函数中的 this 指向——神奇的call,apply和bind及其应用

    在JavaScript 中,call.apply 和 bind 是 Function 对象自带的三个方法,这三个方法的主要作用是改变函数中的 this 指向,从而可以达到`接花移木`的效果.本文将对这 ...