各位大虾:
你们好,我现在很急,公司有很多excel文件里面有很多数据,我想通过
前端delphi来读取,然后保存到数据后台,不知道有什么办法?请各位大师
救救我!
解决方案 »
- 请问一下.明明bpl就在项目目录下.为什么编译的时候还提示找不到?
- Edit查找listbox的字符串
- 自定义可折叠的控件属性的问题
- delhpi用存储过程(返回参数的)怎么回事?
- 帮忙忙----如何能过字符串来转换对像的所属类-----很急
- 在dbgrid显示的记录中,如何选中一行,在程序中又如何判定用户选中的是哪一行?请高手指教,多谢
- 如何实现 ZIP / RAR 格式文件的解压缩功能?(在线等)
- Delphi安装老是出现错误!
- 救命呀,偶必须在今天解决这个问题,重金悬赏,关于setrange的(牛虻)
- delphi 中如何实现在一编辑框内输入数字及运算符自动返回运算结果?
- 用TDataBase发生的不明情况
- 问高手个拦截API的东西
DataGirld : 一个stringGirld 数据源
StrFileName:一个需要保存的文件文件名
}
//*****************************end***************************
function BExcel(lTypeid: integer; DataGirld: TSupGrids; strFileName: string): boolean;
var
szbuffer : string;
zi, lField : integer;
fprogress : Tfprogress;
strlist : TStringList;
begin
Result := false;
if DataGirld.RowCount <= 0 then exit;
if strFileName = EmptyStr then
begin
strFileName := ExtractFileDir(Application.ExeName) + '\GraspExecel.xls'
end;
application.CreateForm(tfprogress, fprogress);
try
fprogress.show;
fprogress.Update;
fprogress.ProgressBar1.Position := 10;
fprogress.ProgressBar1.Max := DataGirld.RowCount;
fprogress.ProgressBar1.Position := fprogress.ProgressBar1.Position + 20;
strlist := TStringList.Create;
for zi := 0 to DataGirld.colCount-1 do //取表头字段名称
begin
if szbuffer = EmptyStr then
begin
szbuffer :=' '+trim(DataGirld.Cells[zi, 0]);
end
else
szbuffer := szbuffer + char(vk_Tab) +Trim(DataGirld.Cells[zi, 0]);
end;
fprogress.ProgressBar1.Position := fprogress.ProgressBar1.Position + 10;
strlist.Add(szbuffer);
szbuffer := EmptyStr;
for zi :=1 to DataGirld.RowCount do //取表体内容
begin
for lField :=0 to DataGirld.ColCount do //chanage 1 to 2
begin
szbuffer := szbuffer + DataGirld.Cells[ lfield,zi]+ chAr(VK_TAB) ;
end;
strlist.Add(szbuffer);
szbuffer := EmptyStr;
fprogress.ProgressBar1.Position := fprogress.ProgressBar1.Position + 2;
end;
strlist.SaveToFile(strFileName);
fprogress.ProgressBar1.Position := fprogress.ProgressBar1.max;
if lTypeid = 1 then
ShellExecute(application.Handle, 'open', pchar(strFileName), nil, nil, SW_SHOWNORMAL);
finally
strlist.Free;
fprogress.close;
fprogress.Free;
end;
Result := true;
end;
excel中去
filename是你的文件名(绝对路径)
sheetname是你excel表里激活的sheet名
ADOConnection2:= TADOConnection.Create(nil);
ADOConnection2.LoginPrompt := False;
ADOConnection2.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + FileName + ';Extended Properties=Excel 8.0'; try
importADOQuery := TADOQuery.Create(nil);
importADOQuery.Connection := ADOConnection2;
importADOQuery.SQL.Text := 'Select * from [' + SheetName + '$]';
importADOQuery.Open;
excel中格式有問題? 我還在測試...