DELPHI导出EXCEL问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 07:12:43
我用DELPHI编了一个人事程序,加了个导出EXCEL的功能,但是导出人事资料的时候,在EXCEL中看的时候出现以下问题:十五位数的可以正确,十八位的后面三位全部变成了三个零,但是如果某人的身份证后面带个字母X的话又可以完全正确的显示出来。请问这是什么问题导致的。如何解决?
忘记说了。我用的数据库是SQL的。

list控件显示的数据好像不能直接导出到excel,你可以做一个查询,然后直接导出到Excel(好像是用‘另存为’),如果你要保存在已有的Excel文档,用复制粘贴好了,也挺方便的。

导出EXCEL时注意一下,在所有的身份证号码前面加上一个英文的单引号就可以了,就是这个符号“'”,这样所有的身份证都为左对齐,并且不会变为科学计数发,不管多少位都没问题。

试试看吧,不会有问题的,那个单引号不会显示出来。

200分好爽哦:)

如果你只是为了导数据可以使用sqlserver中的“导入导出数据”功能,非常方便的。
如果是为了编写程序,要使用ODBC连结两端数据,通过程序一条条记录导入

procedure saveToExcel();
var
Eclapp,workbook:variant;
i,n:integer;
begin
if not adoquery1.Active then exit;
if adoquery1.RecordCount<=0 then exit;

if application.MessageBox('确认导出excel表吗?','提示',mb_okcancel+mb_iconinformation)=idcancel then exit;
Eclapp := createoleobject('Excel.Application');
Eclapp.workbooks.add;
for i:=0 to dbgrid2.FieldCount-1 do
begin
Eclapp.cells[1,i+1]:=dbgrid2.Columns[i].Title.Caption;
end;
Eclapp.cells[1,5]:='签字';

adoquery1.First;
n:=2;
while not a