我自己编程 把excel表导入:
v:= CreateOleObject('Excel.Application');
v.Visible := false;
v.Workbooks.Open(OpenDialog1.FileName);
Sheet:= v.Workbooks[1].WorkSheets[1];
Sheet.Cells.NumberFormatLocal:= '@';
with datamodule1.T_rsk_gb_state do
begin
close;
open;
i := 1; j := 0;
while(Sheet.Cells[i,1].value<>'') do
begin
append;
edit; for j := 0 to 1 do
Fields[j].AsString := trim(Sheet.Cells[i,j+1].value);
post;
Inc(i);
end;
// close;
end
except
Showmessage('初始化Excel失败,可能没装Excel,或者其他错误;请重起再试。');
v.DisplayAlerts := false;
v.Quit;
exit;
end;
Application.Restore;
Application.BringToFront;
end;
end;
现在有个问题 比如说sql2000表里的 编号我预先设定是字符串 哪怕是20032319也是当字符串来使用
可excel里呢是20032319是双精度 有没有一个函数 把excel双精度(double)调成字符串再存入sql2000呢 我试过以下三种办法
inttostr是没用的 floattostr也不行 没有doubletostr这个函数
Sheet.Cells.NumberFormatLocal:= '@'; 这种办法只是你倒出时有用(预先建表) 倒入时无用
或者预先把excel表里的所有值都转化成文本(现在不想用这种办法 不想转表 )
我想用 程序的办法 解决这个问题 请大家帮忙 50分
v:= CreateOleObject('Excel.Application');
v.Visible := false;
v.Workbooks.Open(OpenDialog1.FileName);
Sheet:= v.Workbooks[1].WorkSheets[1];
Sheet.Cells.NumberFormatLocal:= '@';
with datamodule1.T_rsk_gb_state do
begin
close;
open;
i := 1; j := 0;
while(Sheet.Cells[i,1].value<>'') do
begin
append;
edit; for j := 0 to 1 do
Fields[j].AsString := trim(Sheet.Cells[i,j+1].value);
post;
Inc(i);
end;
// close;
end
except
Showmessage('初始化Excel失败,可能没装Excel,或者其他错误;请重起再试。');
v.DisplayAlerts := false;
v.Quit;
exit;
end;
Application.Restore;
Application.BringToFront;
end;
end;
现在有个问题 比如说sql2000表里的 编号我预先设定是字符串 哪怕是20032319也是当字符串来使用
可excel里呢是20032319是双精度 有没有一个函数 把excel双精度(double)调成字符串再存入sql2000呢 我试过以下三种办法
inttostr是没用的 floattostr也不行 没有doubletostr这个函数
Sheet.Cells.NumberFormatLocal:= '@'; 这种办法只是你倒出时有用(预先建表) 倒入时无用
或者预先把excel表里的所有值都转化成文本(现在不想用这种办法 不想转表 )
我想用 程序的办法 解决这个问题 请大家帮忙 50分
解决方案 »
- 一个ReportBuilder打印问题!!急...
- interbase数据库复制表结构
- delphi中事件调用的问题(在线等)
- edit控件如何设置能实现edit的宽度随其显示的字符信息长度变化而变化?
- 请问日期处理的做法,应该容易
- 在向SQL Server数据库中的表写数据时,出现的错误,请大家帮忙解决,谢谢!!!
- 难 !!! delphi7调用 C 写的DLL 文件,我的 DLL 内函数和数据类型如下:
- 谁能提供动画窗口的程序代码
- 使用direct show进行摄像头图像的采集,如何录制一段图像
- TCustoAdoDataSet.Locate 为什么总得不到期望的执行结果
- idHttp.Get,会导致程序短暂无响应,应该怎样处理?
- 如何对表中数据四舍五入?
var
s : string;for j := 0 to 1 do
begin
s := trim(Sheet.Cells[i,j+1].value);
Fields[j].AsString := s;
end;