我数据库中数据为字符型,是以'0'开头的,如:'0001',但是导入到excel中去之后就被excel认为是数字型
导入后成为1,请问如何使excel将其认为是字符型
导入语句为:
sheet.cells(row,col):=dbgrid.Columns[fieldindex].Field.asstring
谢谢大家
导入后成为1,请问如何使excel将其认为是字符型
导入语句为:
sheet.cells(row,col):=dbgrid.Columns[fieldindex].Field.asstring
谢谢大家
解决方案 »
- 如何取得用户的显示名称
- 做一个选择人员窗体时碰到的问题 请大家指点
- 谁给我讲讲TListView的基本操作?谢谢
- 三层结构,客户端,ClientDataSet放在DATEMODEL中,但是在窗体上执行数据操作时,不能进行?急~~~~~~~
- 如何在同一张image图上利用moveto lineto同时画几条线???
- sql server下载
- TQuery 控件的SQL属性不能输入字母,只能输入数字,重装DELPHI也不行是不是一定要重装WINDOWS啊?
- 想做一个基于Socket的通信程序,初次接触,请有经验的朋友进来指点一下。
- 非常急的问题,出现下面的错误是什么原因?
- 高分求救!!!!!!!
- fastReport报表的制作问题,请高手帮忙?
- ListView控件问题
将第一列的单元格式设为文本型。
再比如:
excelworksheet1.Cells.Item[1,2].numberformatlocal:='@';
第1行2列的单元格式设为文本型,用SERVER组件
---------------
uses
ComObj ;
var
varApp : OleVariant ;
varSheet : OleVariant ;function ExportTableToExcel( queryName : TQuery ) : Boolean ;
var
i,j : Integer ;
begin
Result:=False ;
if queryName.Active=False then
begin
ShowMessage('还未有结果数据!');
Exit ;
end;
try
varSheet:=CreateOleObject('Excel.Sheet');
except
ShowMessage('未发现安装了 Excel !');
Exit ;
end;
varApp:=varSheet.Application ;
varSheet:=varApp.ActiveSheet ;
queryName.First ;
if not queryName.eof then
begin
queryName.DisableControls ;
for i:=0 to queryName.FieldCount-1 do
begin
varSheet.Cells[1,i+1].Value:=queryName.Fields[i].FieldName ;
//修正Excel 中数字字符自动变为数字问题
if queryName.Fields[i].DataType=ftString then
begin
varSheet.Columns[i+1].NumberFormatLocal:= '@';
end;
end;
queryName.First ;
j:=2 ;
while not queryName.Eof do
begin
for i:=0 to queryName.FieldCount-1 do
begin
if not queryName.Fields[i].IsNull then
varSheet.Cells[j,i+1]:=queryName.Fields[i].DisplayText ;
end;
j:=j+1 ;
queryName.Next ;
end;
queryName.EnableControls ;
end;
varSheet.Cells.Columns.AutoFit; varApp.Visible:=true;
Result:=True ;
end;