当前位置:主页>仓库管理软件> 列表

excel 问题 找最新管家婆软件下载

记账软件版1楼: 打开一个旧excel文档
在delphi中将dbgrid的内容导入excel 生成一个新的excel文件
会出现新excel覆盖 旧excel文件
怎么解决?
谢谢!

2楼: 加一个save对话框 如java进销存管理系统

3楼: 可以选择文件名的啊

4楼: ExcelApplication1.Workbooks.Add(null,0);
ExcelApplication1.Workbooks.Add(emptyparam,0);
excelworkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(excelworkbook1.Worksheets[1] as _worksheet);
ExcelWorksheet1.Cells.Item[1,1]:=''型号'';
ExcelWorksheet1.Cells.Item[1,2]:=''zxzb'';
ExcelWorksheet1.Cells.Item[1,3]:=''zxhz'';
ExcelWorksheet1.Cells.Item[1,4]:=''单个质量'';
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(''select top 50 type,zxzb,zxhz,dgzl from zxxh'');
adoquery1.open;
adoquery1.first;
for i:=0 to 49 do
begin
ExcelWorksheet1.Cells.Item[i+2,1]:=adoquery1.fieldbyname(''type'').asstring;


ExcelWorksheet1.Cells.Item[i+2,2]:=adoquery1.fieldbyname(''zxzb'').asstring;
ExcelWorksheet1.Cells.Item[i+2,3]:=adoquery1.fieldbyname(''zxhz'').asstring;
ExcelWorksheet1.Cells.Item[i+2,4]:=adoquery1.fieldbyname(''dgzl'').asstring;
adoquery1.moveby(1);
end;

if SaveDialog1.Execute then //保存
begin
excelworksheet1.SaveAs(savedialog1.FileName+''.xls'');
excelworksheet1.Destroy;
end;

5楼: 这样写 旧excel内容覆盖了新excel内容(已经选择文件名)
比如旧excel文件名是 test.xls
新文件名是 aa.xls
出现了 aa.xls的内容跟test.xls的内容完全一样

6楼: 怎么写才能跟已经打开的excel文件不冲突?

记账软件版7楼: 旧的覆盖新的???
旧的没打开怎么能作怪呢?
你先把Excel全部关掉,执行程序,看有没错误提示?

8楼: 关掉已存在的excel文件就没问题

9楼: 说明你的语句是在操作当前打开的Excel表
并没有新建一个表,你的保存也就是把对当前表的操作结果另存了一下
所以你应该修改你的操作部分,查查怎么新建一个空表

10楼: 我再描述一遍
先打开已经存在的excel文件 test.xls


然后将delphi的dbgrid里面的数据保存成excel文件
命名为aa.xls
(test跟aa的记录都来自dbgrid,test是top 100,aa是top 50)
保存以后,aa文件的记录变成跟test一样有100条
怎么回事?

11楼: 谢谢SiWeiLiuLang,
我也发现是这个问题
就是不知道怎么解决

12楼: 你用Dbgrideh吧
直接过去了,简单 如最新管家婆软件下载

13楼: 不用的话,就这样做
1、打开TEXT。XLS
2、创建空EXCEL
3、写EXCEL
4、保存

记账软件版14楼: 创建空EXCEL
怎么写?

15楼: Excel :=CreateOleObject(''Excel.application'')

16楼: ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(emptyparam,0));
这样写就可以直接在新建的workbook编辑了
谢谢!

17楼: 多人接受答案了。