摘要载入中… 请稍等…
内容载入中… 请稍等…
| ◎→ | 本类最新 |
|
asp + sqlserver 分页方法(不用 在Delphi中用拼音首字符序列来实 在Delphi中实现多重查询 用DELPHI编程访问SQL SERVER数据 加密ACCESS数据库增加安全性 加密ACCESS数据库增加安全性 文本数据导入数据库的方法 |
|
| ◎→相关资源 | |
| C语言入门视频教程 C#编程WinForm入门视频 Asp.net入门视频教程下载 VC++编程视频教程下载 VB窗体文章 HTML入门教程 Deiphi实例教程 Deiphi窗体文章 Deiphi数据库编程 Deiphi网络编程 Deiphi图形图象文章 Deiphi系统文件 | |
| ◎→ | 热门资源 |
| 在Delphi7中实现停靠功能 在DELPHI中如何调用系统对话框 用Delphi来编写蠕虫病毒浅析 用Delphi编程实现清空回收站功能 用Delphi建立通讯与数据交换服务 用Delphi建立通讯与数据交换服务 一个四舍五入的函数 |
|
声明部分
procedure DataToExcelCSV(SaveFileName:string;DataSet:TDataSet;ShowCompleteBoX:Boolean=True;GroupCount:integer=1);
......
{------------------------------------------------------}
{检测findStr是否in mainStr,如果存在则返回True,否则False}
{------------------------------------------------------}
function TFun.IsStrInOtherStr(mainStr,FindStr: string): Bool;
begin
if strPos(pAnsiChar(mainStr),pAnsichar(FindStr))=nil
then
result:=False
else
result:=True;
end;
-------------------------------------------------------------------------------------
//lijinhao 2004-4-4
//采用csv格式..将数据转换为excel.
//速度非常快,而且具有分栏功能
//避免了用comobj带来到弊端
//GroupCount:用于设定分栏数。。默认为1
//ShowCompleteBoX:boolean;来设定完成是否显示完成提示
//-------------------------------------------------------------------------------
procedure TFun.DataToExcelCSV(SaveFileName:string;DataSet:TDataSet;ShowCompleteBoX:Boolean;GroupCount:integer);
Function CheckStr(str:string):string;
begin
if IsStrInOtherStr(str,',') then str:='"'+str+'"';
result:=str;
end ;
//===============//
var
ExcelFile:TextFile;
iRecordCount:integer;//记录数
iFieldCount:integer;//字段数
i,j,k:integer;
TempStr:string;
begin
try
if Not DataSet.Active then DataSet.Open;
iRecordCount:=DataSet.RecordCount;
iFieldCount:=DataSet.FieldCount;
assignFile(ExcelFile,SaveFileName+'.csv');
rewrite(ExcelFile);
DataSet.First;
(*--------写字段头------*)
TempStr:='';
for K:=0 to iFieldCount-1 do //字段数
begin
if TempStr<>'' then
TempStr:=TempStr+','+CheckStr(DataSet.Fields[k].FieldName)
else
TempStr:=CheckStr(DataSet.Fields[k].FieldName)
end ;(* for K:=1 to FieldCount do*)
for i:= 1 to GroupCount-1 do TempStr:=TempStr+','+TempStr;
writeLn(ExcelFile,TempStr);
//---------------------------------
(*写入记录,按分栏数来写*)
i:=1;
while i<=round(iRecordCount div GroupCount) do
begin
TempStr:='';
//如:F0 F1 F2 F3 | F0 F1 F2 F3
for j:=1 to GroupCount do //分栏数
begin
if DataSet.Eof then break;
inc(i);
for K:=0 to iFieldCount-1 do //字段数
begin
//--------------
if tempstr<>'' then
TempStr:=TempStr+','+CheckStr(DataSet.Fields[k].AsString)
else
TempStr:=CheckStr(DataSet.Fields[k].AsString);
//------------
end ;(* for K:=1 to FieldCount do*)
DataSet.Next;
end ;(* for j:=1 to GroupCount do*)
writeLn(ExcelFile,TempStr);
if DataSet.Eof then break;
end ;//while i<=round(iRecordCount div GroupCount) do
if ShowCompleteBoX then MessageBox(0,'完成DataToExcel的转换!','完成提示:',mb_ok+MB_IconInformation)
finally
closeFile(ExcelFile);
end;
end;
| 芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们 |