在delphi中如何实现用代码将excel导入到sql数据库中
这个问题你是怎么解决的,根绝那段代码我编译的时候通过了,但excel列里有数字就会报错,提示string转换double时候出错,你是怎么解决的啊,能把你弄好的代码发给我...
这个问题你是怎么解决的,根绝那段代码我编译的时候通过了,但excel列里有数字就会报错,提示string转换double时候出错,你是怎么解决的啊,能把你弄好的代码发给我看看吗,谢谢
哎,我自己解决了,是把value改成Formula就可以了。
我还有个问题,如果我要做成读取EXCEL第一行的列字段,与数据库里的字段做成映射,然后倒入,谁有这方面的参考代码,有用的话分就给了! 展开
哎,我自己解决了,是把value改成Formula就可以了。
我还有个问题,如果我要做成读取EXCEL第一行的列字段,与数据库里的字段做成映射,然后倒入,谁有这方面的参考代码,有用的话分就给了! 展开
2个回答
展开全部
nameX := excelapp.Cells[1,1].value; // 读取EXCEL第一行的列字段
nameY := excelapp.Cells[1,2].value; // 读取EXCEL第一行的列字段
for i := 2 to excelrowcount + 1 do
begin
excelx := excelapp.Cells[i,1].value;
excely := excelapp.Cells[i,2].value;
with query1 do
begin
close;
sql.clear;
sql.add('insert into aa('+nameX+','+nameY+') values(:a,:b)'); // 数据库里的字段做成映射
ParamByName('a').value:= excelx;
ParamByName('b').value:= excely;
execsql;
end;
end;
如果是数字, 用strtofloat 或者 strtoint:
ParamByName('b').value:= excely;
改成
ParamByName('b').value:= strtofloat(excely); //excel档的第二列插入到aa表的 b 栏位;
nameY := excelapp.Cells[1,2].value; // 读取EXCEL第一行的列字段
for i := 2 to excelrowcount + 1 do
begin
excelx := excelapp.Cells[i,1].value;
excely := excelapp.Cells[i,2].value;
with query1 do
begin
close;
sql.clear;
sql.add('insert into aa('+nameX+','+nameY+') values(:a,:b)'); // 数据库里的字段做成映射
ParamByName('a').value:= excelx;
ParamByName('b').value:= excely;
execsql;
end;
end;
如果是数字, 用strtofloat 或者 strtoint:
ParamByName('b').value:= excely;
改成
ParamByName('b').value:= strtofloat(excely); //excel档的第二列插入到aa表的 b 栏位;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询