功能说明:把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进程能自已关掉已经很开心了。:) 以前要手工杀进程的。


posted on 2005-04-23 16:13  使名扬  阅读(2469)  评论(2编辑  收藏  举报