asp.net 导出数据源到Excel模版文件

本文分享了两种在ASP.NET项目中将数据源导出到Excel模板文件的方法:1. 利用Microsoft.Office.Interop.Excel,通过创建Excel应用实例并操作工作簿和工作表实现数据写入;2. 使用OleDb驱动程序,通过INSERT INTO SQL语句将数据写入Excel模板文件。详细介绍了代码实现过程,并强调了注意事项。
摘要由CSDN通过智能技术生成

最近在做asp.net项目,在此过程中用到Excel导出,我整理了导出数据源到Excel模版文件的共同方法,分享给大家!

如果大家还有更好的方法,可以分享给我,谢谢!

方法一:利用Microsoft.Office.Interop.Excel

        首先要引用using Excel = Microsoft.Office.Interop.Excel;

        /// <summary>
        /// 导出数据到Excel模板文件
        /// </summary>
        /// <param name="DT">数据源</param>
        /// <param name="templateFile">模板文件</param>
        /// <param name="tempFile">临时文件</param>
        /// <param name="Response">客户端响应</param>
        /// <param name="fileName">文件名称</param>
        public static bool ExportExcel(DataTable DT, string templateFile, string tempFile, HttpResponse Response,string fileName)
        {
            try
            {
                Excel.Application myExcel = new Excel.Application();
                //不单独显示Excel,最后在IE中显示
                myExcel.Visible = false;
                //指定模板文件
                FileInfo mode = new FileInfo(templateFile);

                //打开复制后的文件X
                object missing = Missing.Value;

                //打开模板文件
                myExcel.Application.Workbooks.Open
                    (mode.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

                Excel.Workbook myBook = myExcel.Workbooks[1];
                Excel.Worksheet mySheet = myBook.Worksheets[1] as Excel.Worksheet;

                Excel.Range range1 = mySheet.Rows[2, missing] as Excel.Range;
                //复制行(在指定行下面复制指定数量行)
                for (int j = 1; j <= DT.Rows.Count - 1; j++)
                {
                    Excel.Range range2 = mySheet.Rows[2 + j, missing] as Excel.Range;
                    range1.Copy(range2);
                }

                //设置Sheet名
                mySheet.Name = fileName;
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值