三种从DataTable导入到Excel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using Excel=
Microsoft.Office.Interop.Excel;//ASP.NET中Excel的命名空间
using System.Data.SqlClient;
using System.Data;

//输出方法

protected void Printer(DataTable
dataGridView1)
       
{
           
//创建一个Excel应用程序对象,如果未创建成功则推出。
           
Excel.Application excel1 = new Excel.Application();
           
if (excel1 == null)
           
{
               
System.Web.HttpContext.Current.Response.Write("无法创建Excel对象,可能你的电脑未装Excel");

}
           
Excel.Workbooks workBooks1 = excel1.Workbooks;
           
Excel.Workbook workBook1 =
workBooks1.Add(Excel.XlWBATemplate.xlWBATWorksheet);
           
Excel.Worksheet worksheet =
(Microsoft.Office.Interop.Excel.Worksheet)workBook1.Worksheets[1];
//取得sheet1

//把DataTable的表头导入到Excel的第一行
           
for (int i = 0; i < dataGridView1.Columns.Count; i++)
           
{

worksheet.Cells[1, i + 1] =
dataGridView1.Columns[i].ColumnName.ToString();
           
}

//把DataTable的数据导入到Excel中(这里用的是两个for循环,当表中行,列比较少时      
还 可以,但是比较多时,速度就会很慢,我电脑两万五千条用了尽量分钟)

for (int i = 0; i < dataGridView1.Rows.Count; i++)
               
{
                   
for (int j = 0; j < dataGridView1.Columns.Count; j++)
                   
{
                       
worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i][
j].ToString();
                   
}
               
}

try
           
{
              
//保存Excel
               
workBook1.Saved = true;
               
workBook1.SaveCopyAs("F:\\www.xlsx");

}
           
catch (Exception ex)
           
{

System.Web.HttpContext.Current.Response.Write("导出文件时出错,文件可能正被打开!\n"
+ ex.ToString());
           
}
           
workBook1.Close();
           
excel1.Visible = true;

if (excel1 != null)
           
{
               
excel1.Workbooks.Close();
               
excel1.Quit();

int generation = System.GC.GetGeneration(excel1);
               
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel1);

excel1 = null;
               
System.GC.Collect(generation);
           
}

}

时间: 2024-10-09 22:12:44

三种从DataTable导入到Excel的相关文章

三种从DataTable导入到Excel方案

命名空间: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Excel= Microsoft.Office.Interop.Excel; using System.Reflection; using System.Data.SqlClient; using

52 标签的影藏,盒子阴影,三种定位,js导入和语法

标签的隐藏 display: none; 不以任何方式显示,在页面中不占位,但重新显示,仍然占位 opacity:0.5; 修改盒子的透明度,值为0,完全透明,但在页面中占位 盒子的阴影 box-shadow: 150px 0 10px 0 red, 0 150px 10px 0 green; x轴偏移 y轴偏移 虚化程度 阴影宽度 颜色 盒子的三种定位固定定位 当前页面窗口的宽高(锁屏幕尺寸变化而变化):vw vh 一旦打开定位属性,left.right.top.bottom四个方位词均能参与

带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel(转)

步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript"> //导出Excel function exportExcel() { var data = ""; $("#divRptTable").find("table").find("tr").each(function

《带你装B,带你飞》pytest成神之路2- 执行用例规则和pycharm运行的三种姿态

1. 简介 今天北京下的雪好大好美啊!!!哎呀,忘记拍照片了,自己想象一下吧.言归真传,今天还是开始pytest的学习和修炼,上一篇写完后群里反响各式各样的,几家欢乐几家愁,有的高兴说自己刚好要用到了,正好一起学习,有的不开心说自己接口还没有学完了,没关系的学习本来就不是一件一蹴而就的事情,需要日积月累,不要灰心.慢慢的来,多花点时间,争取赶上来就好了.嘿嘿!喝了宏哥的毒鸡汤是不是充满活力,感觉好多了.好,那就开始今天的学习吧!今天主要学习一下pytest的执行用例的规则. 2. 通过help帮

.Net MVC 导入导出Excel总结(三种导出Excel方法,一种导入Excel方法)

.Net MVC  导入导出Excel总结(三种导出Excel方法,一种导入Excel方法) 通过MVC控制器导出导入Excel文件(可用于java SSH架构) public class ExcelController : Controller { // // GET: /Excel/ Models.zbwxglEntities myMdl = new Models.zbwxglEntities(); /// <summary> /// 第一种方法,利用文件输出流进行读写操作 /// <

C#中datatable导出excel(三种方法)

方法一:(拷贝直接可以使用,适合大批量资料, 上万笔)Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Office.Interop.Excel.Application();SaveFileDialog savefiledialog = new SaveFileDialog();System.Reflection.Missing miss = System.Reflection.Missing.Value;ap

C#导入Excel 三种方式,64位机器不支持第一种

本文来源于网络搜集,如有不合适之处,请留言. 第一种方式: 通过OleDB方式获取Excel文件的数据,然后通过DataSet中转到SQL Server,这种方法的优点是非常的灵活,可以对Excel表中的各个单元格进行用户所需的操作. string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0"; 第二种

功能齐全、效率一流的免费开源数据库导入导出工具(c#开发,支持SQL server、SQLite、ACCESS三种数据库),每月借此处理数据5G以上

软件名:DataPie 功能:支持SQL server.SQLite.ACCESS数据库的导入.导出.存储过程调用,支持EXCEL2007.EXCEL2003.ACCESS2007. CSV文件导入数据库,支持EXCEL.CSV.ZIP.ACCESS文件方式导出,支持数据拆分导出及自定义SQL查询与导出. 开发背景:作者从事财务管理工作,主要是出具集团的内部财务报表,随着公司精细化管理的需求,管理报表的数据量急速增长, 依赖EXCEL加工处理数据已经变得极为困难,因此团队全面转向关系数据库进行数

【转】asp.net导出数据到Excel的三种方法

来源:http://www.cnblogs.com/lishengpeng1982/archive/2008/04/03/1135490.html 原文出处:http://blog.csdn.net/cpp2017/article/details/2244368 asp.net导出到Excel也是个老生常谈的问题,在此归纳一下. 第一种是比较常用的方法.是利用控件的RenderControl功能,得到该控件生成的HTML,然后以Excel文件的类型输出到客户端.这种方法生成的其实是个HTML文件