功能描述:
    1、我希望将mssql中的一个表中的具体几个字段,导出到excel,并发送到Web客户端。
    2、将客户端的excel数据导入到mssql的具体表。问题描述:
    1、在导出时,客户端如何选择目录和文件夹。(如“另存为”的界面,要求不要使用activeX)
    2、在导入时,如何确定被导入的Excel表中没有非法数据。(例如int型数据中插入varchar型的数据)备注:
    如有源代码的,贴一些,供学习

解决方案 »

  1.   

    导出给你一个参考
    http://www.cnblogs.com/lovecherry/archive/2005/03/25/125519.html
    导入可以使用sqlserver企业管理器
    如果需要用代码写的话可以先上传这个excel然后读取并且写入数据库,可能有点麻烦
    参考
    http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599
      

  2.   

    首先我将自己的想法说一下:
        1、我不能实现选择目录的功能,我使用文件下载的功能来实现。具体是将exce生成到服务器端,然后将文件,用文件流的方法,传到客户端
       
        请问有没有直接的方法
        
      

  3.   

    再一个问题,因为数据库中表的字段名,是英文的,我在excel表中的第一行,用中文来表示。
    这时在要导出的机器上,一定要安装excel吗?
    如果没有的话怎么办?
    有谁有直接在程序中设置标题的代码呀?非常感谢 !
      

  4.   

    我的想法也是服务器端生成excel文件然后输出到客户端
    另外在程序中设置标题参考一下:
    http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50
      

  5.   

    Dim xlSheet As New SpreadsheetClass
            xlSheet.ActiveSheet.Cells(1, 1) = "A"
            xlSheet.ActiveSheet.Cells(1, 2) = "B"
            xlSheet.ActiveSheet.Cells(2, 1) = "C"
            xlSheet.ActiveSheet.Cells(2, 2) = "D"
            xlSheet.ActiveSheet.Cells(2, 3) = "E"
            xlSheet.ActiveSheet.Cells(2, 4) = "F"
            xlSheet.ActiveSheet.Cells(2, 5) = "G"
            xlSheet.ActiveSheet.Cells(2, 6) = "H"
            xlSheet.ActiveSheet.Cells(2, 7) = "I"
            xlSheet.ActiveSheet.Export(ServerPathFile ,SheetExportActionEnum.ssExportActionNone)
    ------>  “另存为”的界面
         Public Sub ClientSave(ByVal ServerPathFile As String)
            Dim aFile As New System.IO.FileInfo(ServerPathFile)
            Dim na As String = Path.GetFileName(ServerPathFile) & ".dat"
            Response.Clear()
            Response.ClearHeaders()
            Response.BufferOutput = False
            Response.ContentType = "application/ms-dat"
            Response.AppendHeader("Content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(na, System.Text.Encoding.UTF8))
            Response.AddHeader("Content-Length", aFile.Length.ToString())
            Response.WriteFile(ServerPathFile)
            Response.Flush()
            aFile.Delete()
            Response.End()
        End Sub
      

  6.   

    1. 建一个网页,里面读取数据,最后Response.Charset = "gb2312"
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312")
    Response.AppendHeader("Content-Disposition", "attachment;filename="test.xls")        
    Response.ContentType = "application/ms-excel"添加如上输入2. 最好写ax.上传一般是费时费力的事情。