class function T_EShopDataBill.ImportData(const AFileName: String;
AList: T_EShopDataModelList; var AErr: string): Boolean;
var
Book: IXLSWorkbook;
ws: IXLSWorksheet;
i : Integer;
nOrderIDRow,nTrackNoRow : Integer;
obj : T_EShopDataModel;
tmpIden,tmpTrackNo : String;
sSql : String;
tmpQry : TADOQuery;
begin
Book := TXLSWorkbook.Create ;
try
i := Book.Open(AFileName);
ws := Book.WorkSheets[]; if ws.UsedRange.Rows.Count = then
Exit; nOrderIDRow := ;
nTrackNoRow := ;
for I := to ws.UsedRange.Rows[].Count - do
begin
if nOrderIDRow = then
if CompareText( VarToStr( ws.UsedRange.Cells[,i].Value),'单据备注') = then
nOrderIDRow := i; if nTrackNoRow = then
if CompareText( VarToStr( ws.UsedRange.Cells[,i].Value),'运单编号') = then
nTrackNoRow := i; if (nOrderIDRow > ) AND (nTrackNoRow > ) then
Break;
end; // ShowInformationMsg(inttostr(nOrderIDRow)+' '+IntTostr(nTrackNoRow));
if (nOrderIDRow = ) or (nTrackNoRow = ) then
Exit; for i := to ws.UsedRange.Rows.Count do
begin
with ws.UsedRange do
begin
if VarIsNull(Cells[i,nTrackNoRow].Value) then
Break;
if VarIsNull(Cells[i,nOrderIDRow].Value) then
Break;
end; tmpTrackNo := ws.UsedRange.Cells[i,nTrackNoRow].Value;
tmpIden := ws.UsedRange.Cells[i,nOrderIDRow].Value; if ( Trim(tmpTrackNo) = '') or (tmpIden = '') then
begin
Break;
end; obj := T_EShopDataModel.Create;
obj.fOrderID := tmpIden;
obj.fTrackNo := tmpTrackNo;
AList.List.Add(obj);
end;
finally
Book.Close;
end;
end

NativeExcel 读取文件的更多相关文章

  1. Java 创建文件夹和文件,字符串写入文件,读取文件

    两个函数如下: TextToFile(..)函数:将字符串写入给定文本文件: createDir(..)函数:创建一个文件夹,有判别是否存在的功能. public void TextToFile(fi ...

  2. C#读取文件为byte[]

    C#读取文件为byte[] 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// 读取程序生成byte /// </sum ...

  3. HTML5的File API读取文件信息

    html结构: <div id="fileImage"></div> <input type="file" value=" ...

  4. 关于一些对map和整行读取文件操作

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  5. 使用java读取文件夹中文件的行数

    使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...

  6. Matlab 读取文件夹中所有的bmp文件

    将srcimg文件下的bmp文件转为jpg图像,存放在dstimg文件夹下 str = 'srcimg'; dst = 'dstimg'; file=dir([str,'\*.bmp']); :len ...

  7. JavaWeb中读取文件资源的路径问题

    在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...

  8. File API 读取文件小结

    简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能 ...

  9. php函数fgets读取文件

    如果一个文件比较大,可以考虑用fgets函数 下面是个例子: #文件作用:fgets读取文件 $start_time = microtime(true); $file_name = "a.t ...

随机推荐

  1. How to solve Original Tango programmer”Hardware not Found”?

    Original Tango programmer is a new generation of transponder programmer which is developed to cover, ...

  2. SSIS 学习(2):数据流任务(上)【转】

    数据流任务是SSIS中的一个核心任务,估计大多数ETL包中,都离不开数据流任务.所以我们也从数据流任务学起. 数据流任务包括三种不同类型的数据流组件:源.转换.目标.其中: 源:它是指一组数据存储体, ...

  3. iOS 获取内存大小使用情况(进度条显示)

    一.获取设备内存大小方法 //返回存储内存占用比例 - (NSString *)getFreeDiskspaceRate{ float totalSpace; .f; NSError *error = ...

  4. poj 3164 最小树形图

    思路:就是裸的最小树形图~ #include<iostream> #include<cstdio> #include<cstring> #include<cm ...

  5. Ehcache(2.9.x) - API Developer Guide, Cache Eviction Algorithms

    About Cache Eviction Algorithms A cache eviction algorithm is a way of deciding which element to evi ...

  6. Linux 命令 - passwd: 更改用户密码

    命令格式 passwd  [-k]  [-l]  [-u  [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactiveda ...

  7. spring分布式事务学习笔记

    最近项目中使用了分布式事务,本文及接下来两篇文章总结一下在项目中学到的知识. 分布式事务对性能有一定的影响,所以不是最佳的解决方案,能通过设计避免最好尽量避免. 分布式事务(Distributed t ...

  8. HDOJ2006求奇数的乘积

    求奇数的乘积 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  9. Android开发中的PhoneGap基本使用

    一.关于PhoneGap Phonegap是一款开源的开发框架,旨在让开发者使用HTML.Javascript.CSS等Web APIs开发跨平台的移动应用程序.   二.PhoneGap在Andro ...

  10. Annotation注解与butterknife

    注解分为三种,一般来讲我们使用的是运行时会加载及能够反射读取的注解类型, 其他编译器生效的类型和编译后放入类文件而运行期不能加载解析的对我们没啥用. 所以从普通理解上来看,注解要配合着反射用就好了. ...