delphi excel 设置文本格式
我使用delphi的excelapp导出数据库的数据,怎么让导出的数字用文本格式显示
下面是我用的主要代码
我用过这两种方法
1、用这种方法不行
sheet.Range[sheet.Cells.item[3,3],sheet.Cells.item[line_num,13]].NumberFormatLocal := '@';
--导出的excel单元格格式是文本,但是显示是还是科学计数法,没有任何影响
2、用这个也不行
if(i = 5) then
str:=str+#39;
--导出的excel单元格格式是文本,但是数据之前多了一个'
以上两种方法双击单元格之后都变成文本格式的,能不能不用双击就变成文本格式显示呢?谢谢大家
str:='总体情况';
str:=str+#13;
j:=0;
//------excel控制
form_main.global_dbgrid.DataSource.DataSet.DisableControls;
for i:=0 to form_main.global_dbgrid.DataSource.DataSet.FieldCount-1 do
str:=str+form_main.global_dbgrid.DataSource.DataSet.fields[i].DisplayLabel+char(9);
str:=str+#13;
form_main.global_dbgrid.DataSource.DataSet.First;
while not(form_main.global_dbgrid.DataSource.DataSet.eof) do begin
for i:=0 to form_main.global_dbgrid.DataSource.DataSet.FieldCount-1 do
begin
if(i = 5) then
str:=str+#39;
str:=str+form_main.global_dbgrid.DataSource.DataSet.Fields[i].AsString+char(9);
end;
str:=str+#13;
form_main.global_dbgrid.DataSource.DataSet.next;
Application.ProcessMessages;
//------excel控制
j:=j+1;
//------excel控制
end;//end while
form_main.global_dbgrid.DataSource.DataSet.EnableControls;
clipboard.Clear;
Clipboard.Open;
Clipboard.AsText:=str;
Clipboard.Close;
excelapp:=createoleobject('excel.application');
excelapp.workbooks.add();
excelapp.worksheets.Add();
excelapp.worksheets.Add();
// excelapp.workbooks.add(-4167);
sheet:=excelapp.workbooks[1].worksheets[1];
sheet.name:='总体情况';
sheet.paste;
//------excel控制
row_num := j+1+1;//第一个1表示加的标题,第二个1表示列名
line_num := i;
sheet.Range[sheet.Cells.item[1,1],sheet.Cells.item[1,line_num]].font.bold := 1;
//文本格式测试
// sheet.columns.autofit;
sheet.Range[sheet.Cells.item[3,3],sheet.Cells.item[line_num,13]].NumberFormatLocal := '@';
Clipboard.Clear;