小弟把html的格式转成了xls格式,并能用excel打开,
但是用sql中的OPENROWSET不能打开,格式不对(其实是html格式)。
所以小弟想通过excel的savaAs的方法转成xls,然后OPENROWSET
才可以打开这个文件了。请问C#中如何调用excel的savaAs ???
用过的朋友请帮忙看一下,谢谢。

解决方案 »

  1.   

    要添加一些如MSComctlLib.dll,等等.搜一搜,有很多例子的.
      

  2.   

    如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据
    http://support.microsoft.com/kb/306023/zh-cn
      

  3.   

    谢谢各位,小弟自己已解决。
    实现请看下面。//   string s1,s2;
    //   Excel.Application     excelApp1;
    //   Excel.Workbooks     workBooks=null;
    //   Excel.Workbook      workBook=null;
    //   Excel._Worksheet    sheet=null;
    //   Excel.Sheets          sheets=null;
    //   Excel.Range           range=null;
    //   excelApp1=new Excel.Application();
    //   excelApp1.Visible=false;
    //   excelApp1.AlertBeforeOverwriting=false;
    //   excelApp1.DisplayAlerts=false; 
    //   workBooks=excelApp1.Workbooks;
    //   try
    //   {
    //    workBooks.Open("E:\\SkuMaster.xls",
    //     0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
    //     true, false, 0, true, false, false); 
    //    
    //     object oMissing = System.Reflection.Missing.Value;
    //      
    //     string outputFile = "e:\\skuMasterA01";
    //     workBooks[1].SaveAs(outputFile,Excel.XlFileFormat.xlWorkbookNormal,oMissing,oMissing,oMissing,oMissing,XlSaveAsAccessMode.xlNoChange,
    //     oMissing,oMissing,oMissing,oMissing,oMissing);    
    //   
    //   }
    //   catch(Exception ex)
    //   {
    //    Response.Write(ex.Message);
    //   }
    //   finally
    //   {
    //    excelApp1.Quit();
    //    if (sheet!=null)            { Marshal.ReleaseComObject (sheet);    }
    //    if (sheets!=null)           { Marshal.ReleaseComObject (sheets);   }
    //    if (workBook!=null)         { Marshal.ReleaseComObject (workBook); }
    //    if (workBooks!=null)        { Marshal.ReleaseComObject (workBooks);}
    //    if (excelApp1!=null)        { Marshal.ReleaseComObject (excelApp1);}
    //    GC.Collect(); 
    //   }