excel导入到sqlServer

本文介绍了一种使用Excel VBA代码从SQL Server数据库自动获取并填充数据到Excel表格的方法。通过设置ODBC连接字符串,定义SQL查询语句,创建查询表对象来完成数据的自动更新。此外还介绍了如何调整单元格宽度、保存文件等细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Excel.Application excel;
Excel._Workbook xBk;
Excel._Worksheet xSt;
Excel._QueryTable xQt;
string Conn = @"ODBC;DRIVER=SQL Server;SERVER=数据库服务器;UID=sa;PWD=123;DATABASE=数据库名";
string Select = "select * from E003";
try
{
    excel = new Excel.ApplicationClass();

                excel.Visible = false;
                xBk = excel.Workbooks.Add(true);
                xSt = (Excel._Worksheet)xBk.ActiveSheet;
                xQt = xSt.QueryTables.Add(Conn, xSt.get_Range(excel.Cells[1, 1], excel.Cells[1, 1]), Select);
                xQt.Name = "导出";
                xQt.FieldNames = true;
                xQt.RowNumbers = false;
                xQt.FillAdjacentFormulas = false;
                xQt.PreserveFormatting = false;
                xQt.BackgroundQuery = true;
                xQt.RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells;
                xQt.AdjustColumnWidth = true;
                xQt.RefreshPeriod = 0;
                xQt.PreserveColumnInfo = true;
                xQt.Refresh(xQt.BackgroundQuery);
                xBk.Saved = true;
// 被呼叫方拒绝接收呼叫。原因是实现IDE自动化操作时,IDE还没有完全准备好,对我们所发出的命令没有时间响应。
// 解决方法。执行命令前,线程暂停一下。差不多要1秒种才可以。然后再调用IDE功能
                System.Threading.Thread.Sleep(1000);
                xBk.SaveCopyAs(directoryPath + tableName + "_" + dateStr + ".xls");
}            
    catch (Exception ex)            
{                
    ex.ToString();            
}            
finally            
{                
    excel = null;                
    xBk = null;                
    xSt = null;                
    xQt = null;            
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值