功能说明:把Excel.xls中的第一个sheet插到Excel2.xls的倒数第2页
以前是写在delphi里做了个com控件给asp.net,asp调用的。没有问题。
同样
以下code在winform下成功:
string SubFile=@"D:\我的程序\Delphi\Excel2.xls";
string MainFile=@"D:\我的程序\Delphi\Excel.xls";
Excel.Application ExcelMainFileApp,ExcelSubFileApp;
Excel._Workbook ExcelMainFileWorkbook,ExcelSubFileWorkbook;
Excel._Worksheet ExcelMainFileWorksheet,ExcelSubFileWorksheet;
try
{
ExcelMainFileApp = new Excel.Application();
ExcelMainFileWorkbook=ExcelMainFileApp.Workbooks.Open(MainFile,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missin
g,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Miss
ing,Type.Missing);
ExcelMainFileWorksheet=(Excel._Worksheet)ExcelMainFileWorkbook.ActiveSheet;
string name=ExcelMainFileWorksheet.Name;
ExcelMainFileWorksheet.Cells.Copy(Type.Missing);
ExcelSubFileApp = new Excel.Application();
ExcelSubFileWorkbook=ExcelSubFileApp.Workbooks.Open(SubFile,Type.Missing,Typ
e.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,T
ype.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing
,Type.Missing);
ExcelSubFileWorksheet=(Excel._Worksheet)ExcelSubFileWorkbook.Sheets.Add(Exce
lSubFileWorkbook.Sheets[ExcelSubFileWorkbook.Sheets.Count],Type.Missing,Type
.Missing,Type.Missing);
ExcelSubFileWorksheet.Paste(Type.Missing,Type.Missing);
foreach (Excel.Workbook book in ExcelSubFileApp.Workbooks)
{
book.Save();
}
ExcelMainFileApp.Workbooks.Close();
ExcelSubFileApp.Workbooks.Close();
ExcelMainFileApp.Quit();
ExcelSubFileApp.Quit();
}
catch( Exception theException )
{
}
finally
{
}
今天想迁移到asp.net,不用delphi写的com ,code的winform一样。同时在
DCOMCNFG.EXE里设置excel的权限。
从
new Excel.Application(); //这里没有卡壳证明dcom权限设的对的。
到
ExcelMainFileWorksheet.Cells.Copy(Type.Missing);//这里能COPY到剪切板了。
全部OK。但是在
ExcelSubFileWorksheet.Paste(Type.Missing,Type.Missing); //从剪切板paste回来
时有问题了。
时出现HRESULT 中的异常:0x800A03EC
郁闷。
另外在winform下可不可以清空剪切板?不后我上面那段话,老是关excel时问要不要清
剪切板,当然退出后excel进程能自已关掉已经很开心了。:) 以前要手工杀进程的。
以前是写在delphi里做了个com控件给asp.net,asp调用的。没有问题。
同样
以下code在winform下成功:
string SubFile=@"D:\我的程序\Delphi\Excel2.xls";
string MainFile=@"D:\我的程序\Delphi\Excel.xls";
Excel.Application ExcelMainFileApp,ExcelSubFileApp;
Excel._Workbook ExcelMainFileWorkbook,ExcelSubFileWorkbook;
Excel._Worksheet ExcelMainFileWorksheet,ExcelSubFileWorksheet;
try
{
ExcelMainFileApp = new Excel.Application();
ExcelMainFileWorkbook=ExcelMainFileApp.Workbooks.Open(MainFile,Type.Missing,
Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missin
g,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Miss
ing,Type.Missing);
ExcelMainFileWorksheet=(Excel._Worksheet)ExcelMainFileWorkbook.ActiveSheet;
string name=ExcelMainFileWorksheet.Name;
ExcelMainFileWorksheet.Cells.Copy(Type.Missing);
ExcelSubFileApp = new Excel.Application();
ExcelSubFileWorkbook=ExcelSubFileApp.Workbooks.Open(SubFile,Type.Missing,Typ
e.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,T
ype.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing
,Type.Missing);
ExcelSubFileWorksheet=(Excel._Worksheet)ExcelSubFileWorkbook.Sheets.Add(Exce
lSubFileWorkbook.Sheets[ExcelSubFileWorkbook.Sheets.Count],Type.Missing,Type
.Missing,Type.Missing);
ExcelSubFileWorksheet.Paste(Type.Missing,Type.Missing);
foreach (Excel.Workbook book in ExcelSubFileApp.Workbooks)
{
book.Save();
}
ExcelMainFileApp.Workbooks.Close();
ExcelSubFileApp.Workbooks.Close();
ExcelMainFileApp.Quit();
ExcelSubFileApp.Quit();
}
catch( Exception theException )
{
}
finally
{
}
今天想迁移到asp.net,不用delphi写的com ,code的winform一样。同时在
DCOMCNFG.EXE里设置excel的权限。
从
new Excel.Application(); //这里没有卡壳证明dcom权限设的对的。
到
ExcelMainFileWorksheet.Cells.Copy(Type.Missing);//这里能COPY到剪切板了。
全部OK。但是在
ExcelSubFileWorksheet.Paste(Type.Missing,Type.Missing); //从剪切板paste回来
时有问题了。
时出现HRESULT 中的异常:0x800A03EC
郁闷。
另外在winform下可不可以清空剪切板?不后我上面那段话,老是关excel时问要不要清
剪切板,当然退出后excel进程能自已关掉已经很开心了。:) 以前要手工杀进程的。