首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

为什么小弟我导出到excel表格中的身份证号码是科学计数法?

2012-03-24 
为什么我导出到excel表格中的身份证号码是科学计数法?????代码如下:withDbgridname.DataSource.DataSetdob

为什么我导出到excel表格中的身份证号码是科学计数法?????
代码如下:   with       Dbgridname.DataSource.DataSet       do
                                                                    begin      
                                                                            pBookMark       :=       GetBookmark;      
                                                                            DisableControls;      
                                                                            for       I:=0       to       dbgridname.Columns.Count-1       do      
                                                                            begin      
                                                                                        if       dbgridname.Columns[I].Visible=False       then      
                                                                                                    Continue;      
                                                                                        Sheet.Cells[J,I+1]       :=       dbgridname.Columns[I].Title.Caption;      
                                                                            end;      
                                                                            Inc(J);      
                                                                            First;      


                                                                            while       not       Eof       do           begin      
                                                                                                    for       I:=0       to       dbgridname.Columns.Count-1       do       begin      
                                                                                                                    if       dbgridname.Columns[I].Visible=False       then      
                                                                                                                                Continue;      
                                                                               
Sheet.Cells[J,I+1]:=trim(dbgridname.DataSource.DataSet.Fieldbyname(dbgridname.Columns[i].FieldName).asstring);//asstring   不能转换为文本的吗?      
                                                                        //改变颜色,字体颜色和底色      
                                                                    Sheet.Cells[J,I+1].font.ColorIndex:=3;
                                                                    Sheet.Cells[J,I+1].Select;      
                                                                    sheet.Cells[J,I+1].Interior.ColorIndex:=50
                                                                                                    end;      


                                                                                                    Inc(J);      
                                                                                                    Next;      
                                                                            end;      
                                                                            GotoBookmark(pBookMark);      
                                                                            FreeBookmark(pBookMark);      
                                                                            EnableControls;      
                                                                    end;      
                                                                    XLApp.activeworkbook.saveas(StrSaveFile);      
                                                                    Application.ProcessMessages;      
                                                                    XLApp.Application.Quit;      
                                                    end;

[解决办法]
导出数据前加上
Sheet1.Range[ 'b1 ', 'b100 '].NumberFormat:= '@ ';
------解决方案--------------------


在数字前加一个单引号就好了
Sheet.Cells[J,I+1]:= ' ' ' '+trim(dbgridname.DataSource.DataSet.Fieldbyname(dbgridname.Columns[i].FieldName).asstring);

热点排行