写了个EXCEL和SQL数据导入导出的小程序,用的EXEC master..xp_cmdshell 'bcp......',
由于SQL导出到EXCEL后没有标题,在导出完成后,再把该EXCEL文件打开,添加标题栏,
修改列宽,然后保存,但奇怪的是,保存代码不起作用
如下
procedure TForm1.TryExcel;
var
xx,excelapp:variant;
begin
try
excelapp:=CreateOleObject('Excel.application');
except
showmessage('本机没有安装EXCEL!');
end;
if combobox1.Text='MarkWins' then
XX:=excelapp.workbooks.open('\\192.168.0.3\partno\abook.xls');
if combobox1.Text='SongZe' then
XX:=excelapp.workbooks.open('\\192.168.0.3\partno\sbook.xls');
excelapp.sheets[1].activate;
excelapp.sheets[1].Rows[1].Insert;
excelapp.sheets[1].cells[1,1].value:='日期';
excelapp.sheets[1].cells[1,2].value:='单别';
excelapp.sheets[1].cells[1,3].value:='单号';
excelapp.sheets[1].cells[1,4].value:='发票号';
excelapp.sheets[1].cells[1,5].value:='柜号';
excelapp.sheets[1].cells[1,6].value:='品号';
excelapp.sheets[1].cells[1,7].value:='单位';
excelapp.sheets[1].cells[1,8].value:='数量';
excelapp.sheets[1].cells[1,9].value:='单价';
excelapp.sheets[1].cells[1,10].value:='汇率';
EXCELAPP.WORKSHEETS[1].COLUMNS['A'].COLUMNWIDTH :=9;
EXCELAPP.WORKSHEETS[1].COLUMNS['B'].COLUMNWIDTH :=6;
EXCELAPP.WORKSHEETS[1].COLUMNS['C'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['D'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['E'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['F'].COLUMNWIDTH :=15;
EXCELAPP.WORKSHEETS[1].COLUMNS['G'].COLUMNWIDTH :=5;
EXCELAPP.WORKSHEETS[1].COLUMNS['H'].COLUMNWIDTH :=11;
EXCELAPP.WORKSHEETS[1].COLUMNS['I'].COLUMNWIDTH :=10;
EXCELAPP.WORKSHEETS[1].COLUMNS['J'].COLUMNWIDTH :=8;
XX.save;//下面对话框出现后,如果用户选择NO,则上面添加内容未保存;
//如用户选择YES,则马上关闭EXCEL,提示是否保存。
if MessageDlg('资料导出成功,是否要打开编辑?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
ExcelApp.Visible := True //设置EXCEL窗口为可见
else
begin
xx.close;
ExcelApp.Quit;
ExcelApp:=unAssigned;
end;
end;请不要转贴其他EXCEL资料。
由于SQL导出到EXCEL后没有标题,在导出完成后,再把该EXCEL文件打开,添加标题栏,
修改列宽,然后保存,但奇怪的是,保存代码不起作用
如下
procedure TForm1.TryExcel;
var
xx,excelapp:variant;
begin
try
excelapp:=CreateOleObject('Excel.application');
except
showmessage('本机没有安装EXCEL!');
end;
if combobox1.Text='MarkWins' then
XX:=excelapp.workbooks.open('\\192.168.0.3\partno\abook.xls');
if combobox1.Text='SongZe' then
XX:=excelapp.workbooks.open('\\192.168.0.3\partno\sbook.xls');
excelapp.sheets[1].activate;
excelapp.sheets[1].Rows[1].Insert;
excelapp.sheets[1].cells[1,1].value:='日期';
excelapp.sheets[1].cells[1,2].value:='单别';
excelapp.sheets[1].cells[1,3].value:='单号';
excelapp.sheets[1].cells[1,4].value:='发票号';
excelapp.sheets[1].cells[1,5].value:='柜号';
excelapp.sheets[1].cells[1,6].value:='品号';
excelapp.sheets[1].cells[1,7].value:='单位';
excelapp.sheets[1].cells[1,8].value:='数量';
excelapp.sheets[1].cells[1,9].value:='单价';
excelapp.sheets[1].cells[1,10].value:='汇率';
EXCELAPP.WORKSHEETS[1].COLUMNS['A'].COLUMNWIDTH :=9;
EXCELAPP.WORKSHEETS[1].COLUMNS['B'].COLUMNWIDTH :=6;
EXCELAPP.WORKSHEETS[1].COLUMNS['C'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['D'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['E'].COLUMNWIDTH :=12;
EXCELAPP.WORKSHEETS[1].COLUMNS['F'].COLUMNWIDTH :=15;
EXCELAPP.WORKSHEETS[1].COLUMNS['G'].COLUMNWIDTH :=5;
EXCELAPP.WORKSHEETS[1].COLUMNS['H'].COLUMNWIDTH :=11;
EXCELAPP.WORKSHEETS[1].COLUMNS['I'].COLUMNWIDTH :=10;
EXCELAPP.WORKSHEETS[1].COLUMNS['J'].COLUMNWIDTH :=8;
XX.save;//下面对话框出现后,如果用户选择NO,则上面添加内容未保存;
//如用户选择YES,则马上关闭EXCEL,提示是否保存。
if MessageDlg('资料导出成功,是否要打开编辑?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
ExcelApp.Visible := True //设置EXCEL窗口为可见
else
begin
xx.close;
ExcelApp.Quit;
ExcelApp:=unAssigned;
end;
end;请不要转贴其他EXCEL资料。
解决方案 »
- 用delphi打开程序弹出内存不能read,在线求解
- GIS中的无级缩放是如何实现的?高分相送。
- 请教 ﹕我初学delphi7.0 ﹐但有编程中﹐想查询delphi7.0的一些基本语法及相关函数﹐按f1 没有 ﹐请问有不有好的查询工具 ﹐请老鸟位推荐
- 如何设置图像透明色?多谢!
- 急!每打印一页就下偏2CM,打N篇就下偏N*2CM
- 在stringgrid里动态创建checkbox问题
- 哪位知道Delphi7.0的全部函数,过程下载!
- 关于f1book控件的问题?
- 在下正在学PHP4.0,可是 Apache+php4.0在我的机子上配置不起来,能否指教一下具体的 配置方法吗?甚望!多谢了!
- 再来一遍----各位:哪里可以下载《 DELPHI 4编程技术内幕》??
- 异常处理
- 誰有辦法幫我搞掂它??????
ExcelApp.ActiveWorkBook.Save
XX.save;//保存代码
在很多的贴子上有关于opendatasource和BCP进行不同数据库间导入的例子,好象都没提到这一点。