能不能用C#把excel表格转化到Sqlserver数据库中的一张表中?谢谢!

解决方案 »

  1.   

    可以建一个Excel的OLEDB link ,然后通过SQL来取得数据
      

  2.   

    我倒是觉得用sql server中得DTS更好些
    如果在程序中调用我就不知道了
      

  3.   

    可以啊,你使用Excel的com对象可以操作Excel中的所有元素,包括转换
    另外还可以:
    导入与追加
    本文使用的示例 SQL 语句演示了“创建表”查询。该查询通过使用 SELECT...INTO...FROM 语法将 Excel 数据导入新的 SQL Server 表。如这些代码示例所示,在继续引用源对象和目标对象时,可以通过使用 INSERT INTO...SELECT...FROM 语法将这些语句转换成追加查询。使用 DTS
    可以使用 SQL Server 数据传输服务 (DTS) 导入向导将 Excel 数据导入 SQL Server 表。在逐步执行向导并选择 Excel 源表时,要记住附加美元符号 ($) 的 Excel 对象名称代表工作表(例如,Sheet1$),而没有美元符号的普通对象名称代表 Excel 指定的范围。
    使用链接服务器
    要简化查询,可以将 Excel 工作簿配置为 SQL Server 中的链接服务器。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 
    306397 如何结合 SQL Server 链接的服务器和分布式查询使用 Excel 
    下列代码将 Excel 链接服务器“EXCELLINK”上的 Customers 工作表数据导入新的名为 XLImport1 的 SQL Server 表: SELECT * INTO XLImport1 FROM EXCELLINK...[Customers$]

    还可以通过按照以下方式使用 OPENQUERY 以全通过方式对源数据执行查询: SELECT * INTO XLImport2 FROM OPENQUERY(EXCELLINK,
        'SELECT * FROM [Customers$]')
    使用分布式查询
    如果不想将对 Excel 工作簿的永久连接配置为链接服务器,可以通过使用 OPENDATASOURCE 或 OPENROWSET 函数为特定目的导入数据。下列代码示例也能将 Excel Customers 工作表数据导入新的 SQL Server 表: SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
    'Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
    'Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')如果对你有帮助,请给分,谢谢!
      

  4.   

    VS2003是试试,VS2005可以操作,但不成熟,听说要代替VBA
      

  5.   

    http://dev.csdn.net/article/63/article/63/63509.shtm
      

  6.   

    用dataset的xml化,这样应该可以.要不就写算法来实现也行呀.
      

  7.   

    直接用 sql server的 导入数据功能就行了