急!,下午要交差,,,,,,
我做了个小软件,在本机编译运行可以打开EXCEL,并显示数据,可是在其他同样Win2000的的系统就只显示出EXCEL2000,可是显示不出数据,是不是没有编译成发行版的原因啊,
很急啊 就要给人家用了,,
请大家帮帮小弟,,,
问题点数:100、回复次数:12Top
1 楼bells2000(洪)回复于 2005-03-28 12:12:51 得分 0
没人帮我一下吗?
如果你想看一下我做的小软件
我的QQ:149446807
谁来帮我一下,,Top
2 楼bells2000(洪)回复于 2005-03-28 12:32:07 得分 0
自己再顶一下,Top
3 楼DDGG(叮叮当当)回复于 2005-03-28 12:32:11 得分 80
Delphi编译出来的就是发行版,不像VC有Debug版、Release版本之分,所以不是这个问题。
我估计可能其他机器上的Office版本不一样?你可以把你的控制Excel的程序贴一下看看。Top
4 楼bells2000(洪)回复于 2005-03-28 12:34:16 得分 0
TO: DDGG(叮叮当当)
这是在EXCEL里显示的代码:
procedure TForm1.SetDataSetToExcelApp(strConnectionString:string;strSQL:string;isShowHeader:boolean=true);
var
xlApp,xlBook,xlSheet,xlQuery: Variant;
adoConnection,adoRecordset: Variant;
begin
adoConnection := CreateOleObject('ADODB.Connection');
adoRecordset := CreateOleObject('ADODB.Recordset');
adoConnection.Open(strConnectionString);
adoRecordset.CursorLocation := 3;//adUseClient;
adoRecordset.Open(strSQL,adoConnection,1,3);
xlApp := CreateOleObject('Excel.Application');
xlBook := xlApp.Workbooks.Add;
xlSheet := xlBook.Worksheets['sheet1'];
xlApp.Visible := True;
{把数据集导入EXCEL数据}
xlQuery := xlSheet.QueryTables.Add(adoRecordset,xlSheet.Range['A1']);
{关键是以上这一句}
xlQuery.FieldNames := isShowHeader;
xlQuery.RowNumbers := False;
xlQuery.FillAdjacentFormulas := False;
xlQuery.PreserveFormatting := True;
xlQuery.RefreshOnFileOpen := False;
xlQuery.BackgroundQuery := True;
//xlQuery.RefreshStyle := xlInsertDeleteCells;
xlQuery.SavePassword := True;
xlQuery.SaveData := True;
xlQuery.AdjustColumnWidth := True;
xlQuery.RefreshPeriod := 0;
xlQuery.PreserveColumnInfo := True;
xlQuery.FieldNames := True;
xlQuery.Refresh;
xlApp := Unassigned;
xlBook := Unassigned;
xlSheet := Unassigned;
xlQuery := Unassigned;
end;
Top
5 楼whbo(王红波(年轻人,要有所作为))回复于 2005-03-28 12:35:24 得分 5
?
感觉不至于,检查下数据库连接是不是有问题,
把table累的组件重新设置为true;重新编译Top
6 楼bells2000(洪)回复于 2005-03-28 12:35:42 得分 0
我家里OFFICE2000和公司的一样, DELPHI也是一样的,在我家电脑上试也不行,不知为什么?Top
7 楼bells2000(洪)回复于 2005-03-28 12:38:41 得分 0
TO:whbo(王红波)加我QQ,我发给你,帮我看一下好吗?
TO:DDGG(叮叮当当) 加我QQ,我发给你,帮我看一下好吗?
Top
8 楼cdsgajxlp(起名很难)回复于 2005-03-28 12:39:48 得分 5
给你一个参考
procedure TForm1.Button1Click(Sender: TObject);
var
// ExcelApplication1: TExcelApplication;
// ExcelWorkbook1: TExcelWorkbook;
// ExcelWorkSheet1: TExcelWorksheet;
I,j : integer;
Str : String;
workbook: OleVariant;
xlscolcount,RowsCounts : integer;
begin //Myexcel.xls
{ try
ExcelApplication1:=TExcelApplication.Create(self);
ExcelWorkbook1 := TExcelWorkbook.Create(Self);
ExcelWorkSheet1 := TExcelWorksheet.Create(Self);
except
Application.MessageBox('打开Excel异常!','提示',mb_ok+mb_iconinformation);
exit;
end; }
ExcelApplication1.Connect;
workbook:=ExcelApplication1.Workbooks.Add('D:/Myexcel.xls',0);
Combobox1.Items.Clear;
// Showmessage(InttoStr( ExcelApplication1.Sheets.Count));
// workbook:=ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[1]);
// ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _WorkSheet);
{ For I:=0 to ExcelApplication1.Workbooks.Count-1 do
begin
Str:=[i].values;
Combobox1.Items.Add(ExcelWorkBook1.Worksheets[i].);
end;}
// Combobox1.Items.Add(ExcelApplication1.Worksheets[i].Name);
for i := 1 to workbook.worksheets.count do
ComboBox1.Items.Add(WorkBook.WorkSheets[i].Name);
workbook.WorkSheets[3].Activate;
RowsCounts:=workbook.activesheet.UsedRange.Rows.Count;//行Fexcel.Application.Worksheets[SheetName].UsedRange.Rows.Count
xlscolcount:=workbook.activesheet.UsedRange.Columns.count;//列
StringGrid1.RowCount:=RowsCounts+1;
StringGrid1.ColCount:=xlscolcount+1;
For I:=0 to RowsCounts do
begin
StringGrid1.Cells[0,i]:=InttoStr(i);
// StringGrid1.RowHeights:=workbook.activesheet.Row.Width;
end;
For J:=1 to xlscolcount do
begin
StringGrid1.Cells[j,0]:=Chr(j+Ord('A')-1);
end;
For i:=1 to RowsCounts do
For j:=1 to xlscolcount do
begin
StringGrid1.Cells[j,i]:=workbook.activesheet.cells[i,j];
end;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
end;Top
9 楼whbo(王红波(年轻人,要有所作为))回复于 2005-03-28 12:42:05 得分 5
很可能是你调试错误时让table类组件的active:=false了,导致你的程序运行出错,
该成true了,再编译应该可以了的Top
10 楼whbo(王红波(年轻人,要有所作为))回复于 2005-03-28 12:43:05 得分 5
对不起,我现在还在武汉上网,等我回学校吧Top
11 楼bells2000(洪)回复于 2005-03-28 12:50:56 得分 0
谢谢了,: TO:whbo(王红波)Top
12 楼bells2000(洪)回复于 2005-03-28 12:54:15 得分 0
TO:whbo(王红波)
那要如何设啊,??帮帮小弟Top
相关问题
- 急于交差,进者有分
- 明天就要交差了 特急!!! 有关ADO 只能给50分了!
- 急!两天后要交差了!大送分!
- 有谁来救小弟一命啊!急不可待了,要交差的....................................................
- 大家帮忙想几个技术指标阿,明天交差了 急啊!
- 各位,急救呀!关于水晶报表的问题。今晚要交差了。。。。
- 在线急呀......要交差了,可还差一点才能收工,请各位帮帮忙!!!!
- 什么是交差表?
- 急!!就要交差了!!数据窗口里的ddlb列,打开窗口时,设它显示第一项/另还有一题
- 急!!就要交差了!!数据窗口里的ddlb列,打开窗口时,设它显示第一项/另还有一题(在线等待)




