string path=this.Request.Url.ToString();
string pathsave="D:\\test\\excel\\report.xls";
int i=path.LastIndexOf('/');
path=path.Substring(0,i);
path+="\\excel\\report.xls";
path=path.Replace('/','\\');
       
Excel.Application ExcelApp=new Excel.ApplicationClass();
Excel.Workbook ExcelWorkBook=ExcelApp.Application.Workbooks.Add(true);
Excel.Worksheet ExcelWorkSheet=(Excel.Worksheet)ExcelWorkBook.Worksheets[1];
ExcelApp.Cells[1,5]="15";
ExcelWorkSheet.get_Range(ExcelWorkSheet.Cells[3,3],ExcelWorkSheet.Cells[6,6]).Value="hello";
ExcelWorkBook.SaveCopyAs(pathsave);
ExcelWorkSheet=null;
ExcelWorkBook.Close(false,null,null);
ExcelApp.Quit();
System.GC.Collection();

解决方案 »

  1.   

    Excel属于那个包啊?
    需要 using 什么?
      

  2.   

    解决方法:在CSDN里搜索Excel
    我不贴,只收分:)
      

  3.   

    to sumanden(心头慌,打中张) :如果我想采用第一种办法,应该怎么做啊?
      

  4.   

    生成这样一个字符串
    C#---hhfgh /t sdfsd /t fgdf /n
    vb---"sdfsdhfk"+vbTab+vbNewline保存到一个文件中,扩展名为xls
      

  5.   

    你的第一种方法我感觉只能把写入table的数据通过Excel的方式显示出来。而不能进行复杂的Excel操作。
    第二种方法不能用response.redirect,并不是你的方法错,而是微软的bug。只能改变一下方法,例如用<meta>或者客户端的javascript来重定向。不过我的实际经验是,服务器端生成Excel的时候经常非法操作,结果非常不稳定。这对于一个系统来说是致命的。
    还有第三种方法,就是在客户端生成Excel。这个是我目前采用的方法,比较稳定,速度也没有问题。你可以尝试一下。需要注意的是,客户端要把ie的ActiveX的设置修改一下。
      

  6.   

    我以前也研究过类似的问题,只是每次execle进程启动了,但是没见程序
      

  7.   

    请问walkingpoison(walkingpoison) 兄,你所说的
      “还有第三种方法,就是在客户端生成Excel。这个是我目前采用的方法,比较稳定,速度也没有问题。你可以尝试一下。需要注意的是,客户端要把ie的ActiveX的设置修改一下。“
        怎么做呀!!!
        请指点!!!
      

  8.   

    你还真问对人了,我的项目中就是用这个做的,困了我好长时间,现在解决了,我们的客户要求能实现统计出图,然后我就给他们做了一个自己画图的组件,但是他们还要更强大功能,这我就没法了,后来他们自己提出用excel来解决,我就把数据导入客户端的excel,这样他们想怎么统计就怎么统计,想出什么图就出什么图,我不知道你现在是不是这种情况,如果是你告诉我mail我发源码给你。
      

  9.   

    conanbos(特兰克斯) ,能发一份给俺吗!!!俺可真是急需!!!我现在所做项目正需要这个,Help Me!!!!多少分都可!!!
        [email protected]
        [email protected]
      

  10.   

    conanbos(特兰克斯) ,能发一份给俺吗!!如需要,可送分!!
    [email protected].
      

  11.   

    conanbos(特兰克斯)这个问题已经困扰我好长时间了,您能发给我吗?谢谢了
    [email protected]

    [email protected]可以给分的~~~
      

  12.   

    conanbos(特兰克斯) ,发一份给偶吧,多谢了!
        [email protected]
      

  13.   

    我也要
    [email protected]
    谢谢
      

  14.   

    哈,太好了,给我也发一份吧,谢谢
    [email protected]
      

  15.   

    conanbos(特兰克斯),能发一份给我嘛,我现在也急需这个冬冬,要分可以开铁给你,只要在email中说一声就好[email protected]谢谢
      

  16.   

    我也要一份研究研究: [email protected]
      

  17.   

    walkingpoison(walkingpoison):
    老大,我以前曾经下载了一个VB做的.dll,但运行时总是报错(不能创建ActiveX).
    但在bata2 上却不出错.
    能否指点一下,非常感谢!
    能发一份给我吗?
      

  18.   

    现在把VB的代码贴出来:
    '********************************************
    '*                                          *
    '*  类名: ClassToExcel                      *
    '*  功能: 用于把数据转存为EXCEL文件         *
    '*  作者: lql 2001.10.24                    *
    '*                                          *
    '********************************************
    Public Class ClassToExcel    Public Sub New()    End Sub    Public Function zSaveToExcel(ByVal strCn As String, ByVal strSql As String, ByVal strPath As String) As String
            '==============得到一个不存在的文件名============
            Dim r As Boolean
            Dim sf, spath, sfx, sFilename As String
            Dim i As Integer        i = 0
            sfx = ".xls"
            spath = strPath
            sf = "0"        '判断文件是否存在
            r = System.IO.File.Exists(spath + sf + sfx)        '如果文件存在, 试图删除; 不能删除则换一文件名, 直至文件可以被删除或文件不存在
            While r
                Try
                    System.IO.File.Delete(spath + sf + sfx)
                    MsgBox("deleted file!")
                    r = False
                Catch
                    'Err.Number = 57
                    i = i + 1
                    sf = i.ToString().Trim()
                    r = System.IO.File.Exists(spath + sf + sfx)
                End Try
            End While        sFilename = spath + sf + sfx        '============转换为Excel文件===================
            Dim oExcel As Object
            Dim oBook As Object
            Dim oSheet As Object
            oExcel = CreateObject("Excel.Application")
            oBook = oExcel.Workbooks.Add
            oSheet = oBook.Worksheets(1)        'Create the QueryTable
            Dim oQryTable As Object
            oQryTable = oSheet.QueryTables.Add( _
            "OLEDB;" & strCn & ";", oSheet.Range("A1"), strSql)
            oQryTable.RefreshStyle = 1
            oQryTable.Refresh(False)        'Save the Workbook and Quit Excel
            oBook.SaveAs(sFilename)
            oExcel.Quit()
            oSheet = Nothing
            oBook = Nothing
            oExcel = Nothing        zSaveToExcel = sf + sfx
        End Function
    End Class
      

  19.   

    walkingpoison(walkingpoison):
    老大,能发一份给我吗?
    [email protected]
      

  20.   

    在csdn里面我遇到了不少需要用asp做Excel的人。而这个正是我这段时间里面做的项目用到的技术。我找了不少这方面的资料,也得到了csdn上面一些朋友的帮助。目前项目已经顺利结束。如果csdn的朋友有这方面的问题,可以跟我探讨一下。能帮得上忙的我会尽量帮助。如果有空的话,我会写一份资料放到csdn上面来。我的Email:[email protected]
      

  21.   

    nidazhi(人儿) :
    你如果需要存excel文件,就直接用代码来进行,还不需要注册dll,并不麻烦。关于客户端生成excel的问题,设置的方法如下:
    1.启动Internet Explorer 
    2.如果是IE 5.0以上,选择工具菜单;如果是IE 4.0,选择查看菜单。然后点击Internet选项 
    3.单击“安全”选项卡 
    4.点“自定义级别”按钮 
    5.将“对没有标记为安全的Active X控件进行初始化和脚本运行”从“禁用”状态改为“提示”(会提示用户是否运行)或者“启用”(不会提示) 
      

  22.   

    walkingpoison(walkingpoison):
    首先感谢老大,但按你的方法我还是没搞定,现在只盼望你能尽快将代码贴出来,万分感激!
    如果能发一份给我那就更好了.
    [email protected]
      

  23.   

    给我发一份好吗?
    [email protected]
      

  24.   

    流口水的时候忘了email,笨!
    [email protected]
    先谢了!
      

  25.   

    [email protected]
    先谢了
    送分!!!!
      

  26.   

    conanbos(特兰克斯) ,能发一份吗!!!
        [email protected]
      

  27.   

    等了几天都没有人理我,都快失望了,隔了几天上来一看,好红火啊.
    对了,conanbos(特兰克斯)和walkingpoison(walkingpoison):
    你们可不要忘了帮助我一下,我的信箱是 [email protected].给我发一份吧.
      

  28.   

    walkingpoison(walkingpoison):
    能发一份给我吗?现在的项目太需要它了,谢谢!
    [email protected]
      

  29.   

    conanbos(特兰克斯):
    可不可以给我也发一个?
    我现在很需要这个东西,非常感谢!
    [email protected]
      

  30.   

    walkingpoison(walkingpoison):
    可不可以给我也发一个,我现在很需要这个东西,非常感谢!
    [email protected]
      

  31.   

    好咚咚不可错过。
    请顺手多填一个Email
    [email protected]
    谢谢。
      

  32.   

    上面的朋友,我发到网上了,大家去看看,希望对你们有帮助
    http://conanbos.topcities.com/excel.txt
      

  33.   

    nidazhi(人儿) :
    你可能漏掉了一句
    xlsApp.Visible=true
    如果没有这一句,只会启动Excel进程,而不显示。
      

  34.   

    我看了一下conanbos(特兰克斯)的那个代码,应该可以帮大家入门了。
    不过如果需要更加详细一点的参考,我可以给你们发送我的代码。
      

  35.   

    walkingpoison(walkingpoison)
    发送的时候也给我一份吧,先谢谢了
    [email protected]
      

  36.   

    邮件已经发送给楼上所有留email的朋友,请查收
      

  37.   

    walkingpoison(walkingpoison)
    我也想要啊,能给我一份吗?
    谢谢
      

  38.   

    walkingpoison(walkingpoison)
    我也想要啊,能给我一份吗?
    谢谢
    [email protected]
      

  39.   

    “高手”先生:记得给我一份!
    [email protected]
      

  40.   

    我收到了,感谢walkingpoison先生!祝:快乐!
        阿明
      

  41.   

    我也要呀,谢谢,[email protected]