当前位置:主页>仓库管理软件> 列表

1000分倒SQL SERVER 2000倒EXCEL的怪

销售管理软件版1楼: 用这个涵数可以导出。只是当字段值大于15位,其中无字母时,在EXCEL中显示科学计数法,且15位后自动变为0,如果字段值中有字母就没事。
procedure WriteExcel(qry: TADOQuery; sName, Title: string; maxfieldcount:
Integer);
var
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
i, j: Integer;
filename: string;
begin
if not(DirectoryExists(ExtractFilePath(application.ExeName)+''\xls'')) then
begin
if messageDlg(''目录:''+ExtractFilePath(application.ExeName)+''xls\''+''不存在,是否建立'',mtWarning,[mbYes,mbNo],0)=mrYes then
begin
try
Createdir(ExtractFilePath(application.ExeName)+''xls\'');
except
showmessage(''目录:''+ExtractFilePath(application.ExeName)+''xls\''+''无法建立'');
exit;
end;
end
else
exit;


end;
filename := concat(extractfilepath(Application.ExeName) + ''xls\'', sName,
''.xls'');
try
ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
frmpb:=nil;
if frmpb=nil then begin
frmpb := tfrmpb.Create(nil);
frmpb.Show;
frmpb.Cursor:=crHourGlass;
end;
except
Application.messagebox(''Excel 没有安装!'', ''Hello'', MB_ICONERROR + mb_Ok);
Abort;
end;
try
ExcelApplication1.Workbooks.Add(EmptyParam,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
qry.First;
for j := 0 to maxfieldcount - 1 do begin
ExcelWorksheet1.Cells.Item[1, j + 1].value := qry.Fields[j].DisplayLabel;
ExcelWorksheet1.Cells.Item[1, j + 1].font.Size := ''10'';
end;
frmpb.pb.Max := qry.RecordCount;
for i := 2 to qry.RecordCount + 1 do begin
for j := 0 to maxfieldcount - 1 do begin
ExcelWorksheet1.Cells.Item[i, j + 1] := qry.Fields[j].AsString;
ExcelWorksheet1.Cells.Item[i, j + 1].font.Size := ''10'';
Application.ProcessMessages;
end;
frmpb.pb.Position := frmpb.pb.Position + 1;
qry.Next;
end;
ExcelWorksheet1.Columns.AutoFit;
try
ExcelWorksheet1.SaveAs(filename);
except
end;
Application.messagebox(pchar(''数据成功导出'' + filename), ''信息'', 64);
finally
frmpb.Close;
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
end;
end;

2楼: Range("D2").Select
Selection.NumberFormatLocal = "@"
看这个东西放哪里合适,设置文本属性的,设置成功就不会有楼主的问题了
也可以是CellFormat

应用于 CellFormat、DataLabel、DataLabels、Range 和 TickLabels 对象的 NumberFormatLocal 属性。



以用户语言字符串返回或设置对象的格式代码。Variant 类型,可读写。

expression.NumberFormatLocal

expression 必需。该表达式返回上面的对象之一。 如服饰管理软件

3楼: 说详细一点好吗?

4楼: ExcelWorksheet1.Cells.Item[i, j + 1].NumberFormatLocal := ''@'';

这样就可以了,楼主准备给我多少分

5楼: 非常感谢chenybin的帮助,问题已经解决,分数奉上请查收.

6楼: 留个QQ号给我,我再给你50分,以后做个朋友,好吗?

销售管理软件版7楼: 哦。前面的分数打多了一个0,积分那里是100没有错,真是的,你不说我还没注意。