希望各位高手看在我只有10分的分上,帮我一下,谢谢! 求一个从EXCEL导出为TXT的例子。并且需要TXT有固定的格式。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 www.source520.com 免费免注册80G源码书籍下载 最快的方法就是使用ExpressQuantumGrid组件,用ExportGrid4ToText方法即可。ExportGrid4ToTEXT('d:\wang.txt',cxGrid1,True,True); procedure TMSupplyExcel.BitBtn1Click(Sender: TObject);begin MDM.SEDSource.DataSet:=MDM.SEQry; with MDM.SEQry do begin Close; SQL.Clear; SQL.Add('select * from SupplyMessage where 供货商代码='''+E1.Text+''''); Open; end; if MDM.SEQry.RecordCount=0 then MessageDlg('没有要查询的供货商资料!',mtInformation,[mbOK],0) else begin MDM.SEDSet.Active:=false; MDM.SEDSet.CommandText:='select * from SupplyMessage where 供货商代码='''+trim(E1.Text)+''''; Try//-------------------打开数据集,当前表格显示数据库表的数据-------------------// MDM.SEDSource.DataSet:=MDM.SEDSet; if not MDM.SEDSet.Active then MDM.SEDSet.Active:=True; Except MessageDlg('打开数据库失败!',mtInformation,[mbOK],0); end; end;end;procedure TMSupplyExcel.BitBtn2Click(Sender: TObject);begin if MessageDlg('导出供货商基本资料?',mtInformation,[mbYes,mbNo],0)=mrYes then begin BitBtn2.Enabled:=false; if MDM.SEConnection2.Connected then MDM.SEConnection2.Close; WriteExcel(MDM.SEDSet,'SupplyMessage','供货商基本资料'); BitBtn2.Enabled:=true; end;end;//将数据库表的数据导出到指定的Excel文件中procedure TMSupplyExcel.WriteExcel(Ads: TADODataSet; sName, Title: string);var //声明一个Excel程序对象 ExcelApplication1: TExcelApplication; //声明一个Excel工作簿对象 ExcelWorkbook1: TExcelWorkbook; //声明一个Excel工作表对象 ExcelWorksheet1: TExcelWorksheet; //定义导出的Excel文件的文件名 filename,OutFilePath: string; i, j: integer; begin try //创建一个Excel程序对象 ExcelApplication1 := TExcelApplication.Create(Application); //创建一个Excel工作簿对象 ExcelWorkbook1 := TExcelWorkbook.Create(Application); //创建一个Excel工作表对象 ExcelWorksheet1 := TExcelWorksheet.Create(Application); //连接Excel程序对象 ExcelApplication1.Connect; except Application.Messagebox('Excel没有安装','Hello',MB_ICONERROR + mb_Ok); Exit; end; try //在该Excel程序中增加一个空的工作簿 ExcelApplication1.Workbooks.Add(EmptyParam, 0); //将ExcelWorkbook1对象与该空的工作簿连接 ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]); //将ExcelWorksheet1对象与该空的工作簿的第一个工作表连接 ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet); //取第一条数据集的记录 Ads.First; //添加记录的各个字段名 for j := 0 to Ads.Fields.Count - 1 do begin ExcelWorksheet1.Cells.item[3, j + 1] := Ads.Fields[j].DisplayLabel; ExcelWorksheet1.Cells.item[3, j + 1].font.size := '10'; end; //循环不断往工作表中添加数据集的记录值 for i := 4 to Ads.RecordCount + 3 do begin for j := 0 to Ads.Fields.Count - 1 do begin ExcelWorksheet1.Cells.item[i, j + 1] :=Ads.Fields[j].Asstring; ExcelWorksheet1.Cells.item[i, j + 1].font.size :='10'; end; Ads.Next; end; //调整单元格的高度和宽度 ExcelWorksheet1.Columns.AutoFit; //在工作表的第一行添加标题 ExcelWorksheet1.Cells.item[1, 2] := Title; ExcelWorksheet1.Cells.Item[1, 2].font.size :='14'; //保存该Excel文件 if SaveDialog1.Execute then OutFilePath:=SaveDialog1.FileName; fileName:=concat(OutFilePath,'.xls'); ExcelWorksheet1.SaveAs(filename); //显示导出成功 Application.Messagebox(pchar('数据成功导出'+filename),'Hello',mb_Ok); finally //断开Excel程序对象 ExcelApplication1.Disconnect; //退出Excel程序对象 ExcelApplication1.Quit; //释放Excel程序对象 ExcelApplication1.Free; //释放Excel工作簿对象 ExcelWorksheet1.Free; //释放Excel工作表对象 ExcelWorkbook1.Free; end;end; 如何判断一个文件是否打开?还望指教,谢谢! cxGrid中如何加入一个序号列??? image的小问题 遍历TMainMenu 帮翻译一段VC的代码,谢谢啊。 请各位兄台帮帮忙,解决一下,我快晕死了!!!!! 如何制作安装程序,使它可以脱离开发环境 Ehlib3.2带中国财务金额线版,如何实现中国财务金额线!!! 一个关于分布式编程、有点难度但不需编程的问题,发帖就给分!! 总出错,请问如何用delphi 动态地添加一个worksheet给一个Excel文件 在连接数据库时候,出现奇怪的问题! 求反编译delphi的可执行程序,急用!!!
ExportGrid4ToTEXT('d:\wang.txt',cxGrid1,True,True);
begin
MDM.SEDSource.DataSet:=MDM.SEQry;
with MDM.SEQry do begin
Close;
SQL.Clear;
SQL.Add('select * from SupplyMessage where 供货商代码='''+E1.Text+'''');
Open;
end;
if MDM.SEQry.RecordCount=0 then
MessageDlg('没有要查询的供货商资料!',mtInformation,[mbOK],0)
else begin
MDM.SEDSet.Active:=false;
MDM.SEDSet.CommandText:='select * from SupplyMessage where 供货商代码='''+trim(E1.Text)+'''';
Try
//-------------------打开数据集,当前表格显示数据库表的数据-------------------//
MDM.SEDSource.DataSet:=MDM.SEDSet;
if not MDM.SEDSet.Active then
MDM.SEDSet.Active:=True;
Except
MessageDlg('打开数据库失败!',mtInformation,[mbOK],0);
end;
end;
end;procedure TMSupplyExcel.BitBtn2Click(Sender: TObject);
begin
if MessageDlg('导出供货商基本资料?',mtInformation,[mbYes,mbNo],0)=mrYes then begin
BitBtn2.Enabled:=false;
if MDM.SEConnection2.Connected then
MDM.SEConnection2.Close;
WriteExcel(MDM.SEDSet,'SupplyMessage','供货商基本资料');
BitBtn2.Enabled:=true;
end;
end;//将数据库表的数据导出到指定的Excel文件中
procedure TMSupplyExcel.WriteExcel(Ads: TADODataSet; sName, Title: string);
var
//声明一个Excel程序对象
ExcelApplication1: TExcelApplication;
//声明一个Excel工作簿对象
ExcelWorkbook1: TExcelWorkbook;
//声明一个Excel工作表对象
ExcelWorksheet1: TExcelWorksheet;
//定义导出的Excel文件的文件名
filename,OutFilePath: string;
i, j: integer;
begin
try
//创建一个Excel程序对象
ExcelApplication1 := TExcelApplication.Create(Application);
//创建一个Excel工作簿对象
ExcelWorkbook1 := TExcelWorkbook.Create(Application);
//创建一个Excel工作表对象
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
//连接Excel程序对象
ExcelApplication1.Connect;
except
Application.Messagebox('Excel没有安装','Hello',MB_ICONERROR + mb_Ok);
Exit;
end;
try
//在该Excel程序中增加一个空的工作簿
ExcelApplication1.Workbooks.Add(EmptyParam, 0);
//将ExcelWorkbook1对象与该空的工作簿连接
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
//将ExcelWorksheet1对象与该空的工作簿的第一个工作表连接
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
//取第一条数据集的记录
Ads.First;
//添加记录的各个字段名
for j := 0 to Ads.Fields.Count - 1 do
begin
ExcelWorksheet1.Cells.item[3, j + 1] := Ads.Fields[j].DisplayLabel;
ExcelWorksheet1.Cells.item[3, j + 1].font.size := '10';
end;
//循环不断往工作表中添加数据集的记录值
for i := 4 to Ads.RecordCount + 3 do
begin
for j := 0 to Ads.Fields.Count - 1 do
begin
ExcelWorksheet1.Cells.item[i, j + 1] :=Ads.Fields[j].Asstring;
ExcelWorksheet1.Cells.item[i, j + 1].font.size :='10';
end;
Ads.Next;
end;
//调整单元格的高度和宽度
ExcelWorksheet1.Columns.AutoFit;
//在工作表的第一行添加标题
ExcelWorksheet1.Cells.item[1, 2] := Title;
ExcelWorksheet1.Cells.Item[1, 2].font.size :='14';
//保存该Excel文件
if SaveDialog1.Execute then
OutFilePath:=SaveDialog1.FileName;
fileName:=concat(OutFilePath,'.xls');
ExcelWorksheet1.SaveAs(filename);
//显示导出成功
Application.Messagebox(pchar('数据成功导出'+filename),'Hello',mb_Ok);
finally
//断开Excel程序对象
ExcelApplication1.Disconnect;
//退出Excel程序对象
ExcelApplication1.Quit;
//释放Excel程序对象
ExcelApplication1.Free;
//释放Excel工作簿对象
ExcelWorksheet1.Free;
//释放Excel工作表对象
ExcelWorkbook1.Free;
end;
end;