public class Export2Excel
{
#region 【导出文件,使用文件流】
/// <summary>
/// 导出文件,使用文件流。该方法使用的数据源为DataTable,导出的Excel文件没有具体的样式。
/// </summary>
/// <param name="dt"></param>
public string ExportToExcel(DataTable dt, string path)
{
KillSpecialExcel();
string result = string.Empty;
try
{
// 实例化流对象,以特定的编码向流中写入字符。
StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("gb2312")); StringBuilder sb = new StringBuilder();
for (int k = ; k < dt.Columns.Count; k++)
{
// 添加列名称
sb.Append(dt.Columns[k].ColumnName.ToString() + "\t");
}
sb.Append(Environment.NewLine);
// 添加行数据
for (int i = ; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
for (int j = ; j < dt.Columns.Count; j++)
{
// 根据列数追加行数据
sb.Append(row[j].ToString() + "\t");
}
sb.Append(Environment.NewLine);
}
sw.Write(sb.ToString());
sw.Flush();
sw.Close();
sw.Dispose(); // 导出成功后打开
//System.Diagnostics.Process.Start(path);
}
catch (Exception)
{
result = "请保存或关闭可能已打开的Excel文件";
}
finally
{
dt.Dispose();
}
return result;
}
/// <summary>
/// 结束进程
/// </summary>
private static void KillSpecialExcel()
{
foreach (System.Diagnostics.Process theProc in System.Diagnostics.Process.GetProcessesByName("EXCEL"))
{
if (!theProc.HasExited)
{
bool b = theProc.CloseMainWindow();
if (b == false)
{
theProc.Kill();
}
theProc.Close();
}
}
}
#endregion
}

速度极快的导出excel的更多相关文章

  1. Senna.js – 速度极快的单页应用程序引擎

    Senna.js 是一个速度超快的单页应用程序引擎,提供了几个低级别的 API,可以帮助你打造现代化的基于 Web 的应用程序.更重要的是,搜索引擎蜘蛛应该能够索引相同的内容. 通过使用 HTML5 ...

  2. 转载:js动态获取图片长宽尺寸(兼容所有浏览器,速度极快)

    转自:http://blog.phpdr.net/js-get-image-size.html lightbox类效果为了让图片居中显示而使用预加载,需要等待完全加载完毕才能显示,体验不佳(如fili ...

  3. aliyun的yum源(国内速度极快)

    公网(家里宽带下载速度达到1-3.5M): http://mirrors.aliyun.com/repo/Centos-6.repo 内网(购买的阿里云主机可以访问): http://mirrors. ...

  4. Everything:速度最快的文件名搜索工具

    http://xbeta.info/everything-search-tool.htm Everything(官网|中文主页|教程)是速度最快的文件名搜索软件.其速度之快令人震惊,百G硬盘几十万个文 ...

  5. java五行代码导出Excel

    目录 先看代码 再看效果 EasyExcel 附: Java按模板导出Excel---基于Aspose实现 Java无模板导出Excel,Apache-POI插件实现 已经写过两种Excel导出插件了 ...

  6. Ubuntu 14.04 使用速度极快的Genymotion 取代蜗牛速度的原生AVD模拟器

    Ubuntu 14.04 使用速度极快的Genymotion 取代蜗牛速度的原生AVD模拟器 2014-5-29阅读4045 评论0         默认的AVD的速度可谓奇慢无比,一番搜索最后找到了 ...

  7. NPOI、MyXls、Aspose.Cells 导入导出Excel(转)

    Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导s出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你 ...

  8. C#导出EXCEL的几种方法

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  9. C# 几十万级数据导出Excel,及Excel各种操作

    先上导出代码 /// <summary> /// 导出速度最快 /// </summary> /// <param name="list">&l ...

随机推荐

  1. Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置

    Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...

  2. c++顺序表基本功能

    头文件 #define LIST_MAX_SIZE 5#define LISTINCREMENT 2#include<assert.h>#include<string>temp ...

  3. AJXA 入门 前端界面操作(例题)

    AJXA  处理界面  与之前的 嵌入 PHP 相比   不用  频繁的 刷新界面 mysql 链接数据库封装类 <?php class DBDA { public $host="lo ...

  4. myql 查询树形表结果:说说、说说的述评、评论的回复

    myql 查询树形表结果:说说.说说的评论.评论的回复 有三张表关联表: 用户的说说表(ixt_customer_note) 说说的评论表(ixt_customer_note_comment) 评论的 ...

  5. node10-mongoose

    目录:node01-创建服务器 node02-util node03-events node04-buffer node05-fs node06-path node07-http node08-exp ...

  6. 关于chart.js 设置canvas的宽度为父级元素的宽度的百分百 以及 X轴上面刻度数据太多如何处理

    今天在做一个数据统计的界面的时候,需要做折线统计图,在网上找了一圈发现数据统计的插件还是不少的,本着轻量级的的原则选择了Chart.js,后来在做的过程中便遇到两个问题,以此记录下来,和刚刚接触前端的 ...

  7. 使用NPOI读取Excel报错ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature

    写了一个小程序利用NPOI来读取Excel,弹出这样的报错: ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature ...

  8. 使用JHChart勾勒你想要的图表

    前言 从2016年4月14日开始,本人着手开发了JHChart图表工具库.经过断断续续的开发,截止到现在,已经实现了折线图.柱状图.饼状图.环形图和表格样式的图表功能.为了方便使用,我已经将一个简单的 ...

  9. Erlang--etc结构解析

    Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会变慢了;这种主要是由于List的绝大部分操作都是基于遍历完成的. Erlang的设计目标是软实时(参考:htt ...

  10. 顺序查找SequentialSearch

    #include <stdio.h>int SequentialSearch(int *a,int n,int x);int main(void){ //num代表查找的数 int num ...