分享

用QueryTable向excel批量导入数据

 Frank_Chia 2009-08-10

用excel的QueryTable来直接查询数据库

       
      但是必须引用com组件:

 


参考代码 
C# code
using System; using System.Collections.Generic; using System.Text; using System.Reflection; using Excel = Microsoft.Office.Interop.Excel; namespace ConsoleApplication18 { class Program { static void Main(string[] args) { ExportDataToExcel("Provider=SQLOLEDB.1;sever=localhost;uid=sa;password=***;database=master;", "select * from sysobjects",@"c:\testOle.xls","sysobjects"); } /// <summary> /// 直接导出数据到excel /// </summary> /// <param name="connectionString">连接字符串</param> /// <param name="sql">查询语句</param> /// <param name="fileName">文件名</param> /// <param name="sheetName">表名</param> static void ExportDataToExcel(string connectionString,string sql,string fileName,string sheetName) { Excel.Application app = new Excel.ApplicationClass(); Excel.Workbook wb = (Excel.WorkbookClass)app.Workbooks.Add(Missing.Value); Excel.Worksheet ws = wb.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet; ws.Name = sheetName; try { Excel.QueryTable qt = ws.QueryTables.Add("OLEDB;" + connectionString, ws.get_Range("A1", Missing.Value), sql); qt.Refresh(false);//是否异步查询 } catch (Exception ex) { string str = ex.Message; } finally { wb.Saved = true; wb.SaveCopyAs(fileName);//保存 app.Quit();//关闭进程 } } } }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约